GDB 9 izdanje debuggera

Poslao izdanje debuggera GDB 9.1 (prvo izdanje serije 9.x, grana 9.0 je korištena za razvoj). GDB podržava ispravljanje grešaka na nivou izvora za širok spektar programskih jezika (Ada, C, C++, Objective-C, Pascal, Go, itd.) na različitim hardverima (i386, amd64, ARM, Power, Sparc, RISC-V i dr.) i softverske platforme (GNU/Linux, *BSD, Unix, Windows, macOS).

Ključ poboljšanja:

  • Podrška za platforme Solaris 10 i Cell Broadband Engine je ukinuta;
  • Dodan novi simulator PRU (Programmable Real-time Unit) podsistema koji se koristi u Texas Instruments procesorima (pru-*-elf);
  • Dodan eksperimentalni režim za brzo učitavanje simbola za otklanjanje grešaka u višenitnom režimu (omogućeno preko postavke 'maint set worker-threads unlimited');
  • Moguće je koristiti simbol '.' u nazivima naredbi;
  • Dodata mogućnost postavljanja tačaka prekida na ugniježđenim funkcijama i potprogramima u Fortranu;
  • Izvršen je rad na dovođenju do jedinstvenog stila i poboljšanja čitljivosti komandi;
  • Implementirana je standardna infrastruktura za prosljeđivanje argumenata komande korištenjem crtice ('-OPT'), koja omogućava automatsko dovršavanje pomoću tipke tab;
  • Naredbe “printf” i “eval” implementiraju podršku za izlaz nizova u C i Ada stilovima bez direktnog pozivanja funkcije u programu;
  • Dodata podrška za filtriranje izlaznih datoteka na osnovu regularnog izraza u naredbi “info sources”;
  • U postavci “set print frame-arguments” implementiran je parametar “presence”, kada je postavljen, za argumente se prikazuje samo indikator prisutnosti “…” umjesto prikaza imena i vrijednosti;
  • U interfejsu TUI komande "focus", "winheight", "+", "-", ">", "<" sada razlikuju velika i mala slova;
  • Za naredbe "print", "compile print", "backtrace", "frame"
    implementirane su opcije apply", "tfaas" i "faas" kako bi se nadjačale globalne postavke (na primjer, one postavljene putem "set print […]");

  • Opcija "-q" je dodana naredbi "info types" kako bi se onemogućio izlaz nekih zaglavlja;
  • U postavkama, umjesto “neograničene” vrijednosti, sada možete odrediti “u”;
  • Dodane su nove komande:
    • "define-prefix" za definiranje vlastitih naredbi prefiksa;
    • "|" ili "pipe" za pokretanje naredbe i preusmjeravanje izlaza na komandu ljuske;
    • “with” za pokretanje navedene naredbe sa privremeno promijenjenim postavkama;
    • “set may-call-functions” za kontrolu da li se potprogram može pozvati iz GDB-a;
    • "set print završetak [on|off]" za kontrolu prikaza povratne vrijednosti kada se koristi naredba "finish";
    • “podesi maksimalnu dubinu ispisa” da ograniči izlaz ugniježđenih struktura;
    • “podesi ispis sirovih vrijednosti [uključeno|isključeno]” da omogući/onemogući formatiranje izlaznih vrijednosti;
    • “podesi debugredirect evidentiranja [on|off]” za kontrolu spremanja izlaza debug-a u datoteku dnevnika;
    • Niz novih naredbi "set style";
    • “set print frame-info […]” da bi se definisale informacije koje treba da se štampaju kada se prikazuje stanje okvira steka;
    • “set tui compact-source” za omogućavanje kompaktnog režima za prikaz koda u interfejsu TUI (Text User Interface);
    • “info moduli […]” za traženje informacija o Fortran modulima;
    • Umjesto “set/show print raw frame-arguments” se predlaže naredba “set/show print raw-frame-arguments” (koristi crticu umjesto razmaka kao separator);
  • U upravljačkom softverskom interfejsu GDB/MI dodane nove komande “-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" su ekvivalentni istim GDB komandama. Podrazumevano, treća verzija MI interpretera je aktivirana (-i=mi3);

  • Dodane nove ugrađene varijable:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Dodata opcija “--with-system-gdbinit-dir” u skriptu za konfigurisanje za određivanje putanje do sistemskih datoteka gdbinit;
  • Brojna poboljšanja su napravljena na Python API-ju. Dodata mogućnost izgradnje sa Python 3 na Windows-u;
  • Zahtjevi za montažno okruženje su povećani. Izgradnja GDB-a i GDBservera sada zahtijeva najmanje GNU make 3.82. Kada gradite sa eksternom bibliotekom readline-a, potreban je najmanje GNU readline 7.0.

izvor: opennet.ru

Dodajte komentar