Versiunea de depanare GDB 9

Introdus lansarea depanatorului GDB 9.1 (prima lansare a seriei 9.x, ramura 9.0 a fost folosită pentru dezvoltare). GDB acceptă depanarea la nivel de sursă pentru o gamă largă de limbaje de programare (Ada, C, C++, Objective-C, Pascal, Go etc.) pe diferite hardware (i386, amd64, ARM, Power, Sparc, RISC-V și etc.) și platforme software (GNU/Linux, *BSD, Unix, Windows, macOS).

Cheie îmbunătățiri:

  • Suportul pentru platformele Solaris 10 și Cell Broadband Engine a fost întrerupt;
  • S-a adăugat un nou simulator al subsistemului PRU (Unitate în timp real programabilă) utilizat în procesoarele Texas Instruments (pru-*-elf);
  • S-a adăugat un mod experimental pentru încărcarea rapidă a simbolurilor de depanare în modul multi-threaded (activat prin setarea „maint set worker-threads unlimited”);
  • Este posibil să folosiți simbolul „.” în numele comenzilor;
  • S-a adăugat capacitatea de a seta puncte de întrerupere pe funcții imbricate și subrutine în Fortran;
  • S-a lucrat pentru a aduce la un stil unificat și pentru a îmbunătăți lizibilitatea comenzilor;
  • A fost implementată o infrastructură standard pentru transmiterea argumentelor comenzii folosind caracterul liniuță ('-OPT'), care permite completarea automată folosind tasta Tab;
  • Comenzile „printf” și „eval” implementează suport pentru ieșirea șirurilor în stilurile C și Ada fără a apela direct o funcție din program;
  • S-a adăugat suport pentru filtrarea fișierelor de ieșire pe baza unei expresii regulate din comanda „surse de informații”;
  • În setarea „set print frame-arguments” este implementat parametrul „prezență”, când este setat, doar indicatorul de prezență „…” este afișat pentru argumente în loc să afișeze numele și valoarea;
  • În interfață TUI comenzile „focus”, „winheight”, „+”, „-”, „>”, „<” sunt acum sensibile la majuscule;
  • Pentru comenzile „print”, „compilare print”, „backtrace”, „frame”
    aplicați”, opțiunile „tfaas” și „faas” au fost implementate pentru a înlocui setările globale (de exemplu, cele setate prin „set print […]”);

  • Opțiunea „-q” a fost adăugată la comanda „tipuri de informații” pentru a dezactiva ieșirea unor anteturi;
  • În setări, în locul valorii „nelimitate”, acum puteți specifica „u”;
  • S-au adăugat comenzi noi:
    • „define-prefix” pentru a defini propriile comenzi de prefix;
    • "|" sau „pipe” pentru a rula o comandă și a redirecționa ieșirea către o comandă shell;
    • „cu” pentru a rula comanda specificată cu setări modificate temporar;
    • „setează funcții de apelare” pentru a controla dacă o subrutină poate fi apelată din GDB;
    • „set print finish [on|off]” pentru a controla afișarea valorii returnate atunci când utilizați comanda „finish”;
    • „set print max-depth” pentru a limita rezultatul structurilor imbricate;
    • „set print raw-values ​​​​[on|off]” pentru a activa/dezactiva formatarea valorilor de ieșire;
    • „set logging debugredirect [on|off]” pentru a controla salvarea ieșirii de depanare într-un fișier jurnal;
    • O serie de comenzi noi „set style”;
    • „set print frame-info […]” pentru a defini informațiile care ar trebui tipărite atunci când se afișează starea cadrului stivei;
    • „set tui compact-source” pentru a activa modul compact pentru afișarea codului în interfața TUI (Text User Interface);
    • „module informative […]” pentru a solicita informații despre modulele Fortran;
    • În loc de „set/show print raw frame-arguments”, este propusă comanda „set/show print raw-frame-arguments” (folosește o liniuță în loc de spațiu ca separator);
  • În interfața software-ului de control GDB/MI au adăugat comenzi noi „-complete”, „-catch-throw”, „-catch-rethrow”, „-catch-catch”, „-symbol-info-functions”, „-symbol-info-types”,
    „-symbol-info-variables”, „-symbol-info-modules”, „-symbol-info-module-functions” și „-symbol-info-module-variables” sunt echivalente cu aceleași comenzi GDB. În mod implicit, a treia versiune a interpretului MI este activată (-i=mi3);

  • S-au adăugat noi variabile încorporate:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • S-a adăugat opțiunea „--with-system-gdbinit-dir” la scriptul de construcție de configurare pentru a determina calea către fișierele de sistem gdbinit;
  • Au fost aduse o serie de îmbunătățiri la API-ul Python. S-a adăugat posibilitatea de a construi cu Python 3 pe Windows;
  • Cerințele pentru mediul de asamblare au fost crescute. Construirea GDB și GDBserver necesită acum cel puțin GNU make 3.82. Când construiți cu o bibliotecă readline externă, este necesar cel puțin GNU readline 7.0.

Sursa: opennet.ru

Adauga un comentariu