Vydanie ladiaceho nástroja GDB 9

Predloženej vydanie debuggera GDB 9.1 (prvé vydanie série 9.x, na vývoj bola použitá vetva 9.0). GDB podporuje ladenie na úrovni zdroja pre širokú škálu programovacích jazykov (Ada, C, C++, Objective-C, Pascal, Go atď.) na rôznom hardvéri (i386, amd64, ARM, Power, Sparc, RISC-V a pod.) a softvérové ​​platformy (GNU/Linux, *BSD, Unix, Windows, macOS).

Kľúč vylepšenia:

  • Podpora pre platformy Solaris 10 a Cell Broadband Engine bola ukončená;
  • Pridaný nový simulátor podsystému PRU (Programmable Real-time Unit) používaného v procesoroch Texas Instruments (pru-*-elf);
  • Pridaný experimentálny režim pre rýchle načítanie ladiacich symbolov vo viacvláknovom režime (povolené cez nastavenie „maint set worker-threads limited“);
  • V názvoch príkazov je možné použiť symbol '.';
  • Pridaná možnosť nastavovať body prerušenia vnorených funkcií a podprogramov vo Fortrane;
  • Vykonali sa práce s cieľom dosiahnuť jednotný štýl a zlepšiť čitateľnosť príkazov;
  • Bola implementovaná štandardná infraštruktúra na odovzdávanie argumentov príkazov pomocou znaku pomlčky ('-OPT'), čo umožňuje automatické dopĺňanie pomocou klávesu tabulátora;
  • Príkazy „printf“ a „eval“ implementujú podporu pre výstup reťazcov v štýloch C a Ada bez priameho volania funkcie v programe;
  • Pridaná podpora pre filtrovanie výstupných súborov na základe regulárneho výrazu v príkaze „info sources“;
  • V nastavení „set print frame-arguments“ je implementovaný parameter „presence“, keď je nastavený, pre argumenty sa namiesto zobrazenia názvu a hodnoty zobrazí iba indikátor prítomnosti „…“;
  • V rozhraní TUI príkazy "focus", "winheight", "+", "-", "">", "<" teraz rozlišujú veľké a malé písmená;
  • Pre príkazy "print", "kompilácia tlače", "backtrace", "frame"
    Použiť, možnosti „tfaas“ a „faas“ boli implementované na prepísanie globálnych nastavení (napríklad tých, ktoré sa nastavujú pomocou „nastaviť tlač […]“);

  • Voľba "-q" bola pridaná do príkazu "info types" na zakázanie výstupu niektorých hlavičiek;
  • V nastaveniach môžete namiesto hodnoty „neobmedzené“ zadať „u“;
  • Pridané nové príkazy:
    • "define-prefix" na definovanie vlastných prefixových príkazov;
    • "|" alebo "pipe" na spustenie príkazu a presmerovanie výstupu na príkaz shell;
    • „with“ na spustenie zadaného príkazu s dočasne zmenenými nastaveniami;
    • „set may-call-functions“ na kontrolu, či je možné volať podprogram z GDB;
    • "set print finish [on|off]" na ovládanie zobrazenia návratovej hodnoty pri použití príkazu "finish";
    • „nastaviť maximálnu hĺbku tlače“ na obmedzenie výstupu vnorených štruktúr;
    • „set print raw-values ​​​​[on|off]“ na povolenie/zakázanie formátovania výstupných hodnôt;
    • “set logging debugredirect [on|off]” na ovládanie ukladania výstupu ladenia do súboru denníka;
    • Séria nových príkazov „nastaviť štýl“;
    • „set print frame-info […]“ na definovanie informácií, ktoré sa majú vytlačiť pri zobrazení stavu zásobníka;
    • „set tui compact-source“ na aktiváciu kompaktného režimu pre zobrazenie kódu v rozhraní TUI (Text User Interface);
    • „informačné moduly […]“ na vyžiadanie informácií o moduloch Fortran;
    • Namiesto „set/show print raw-frame-arguments“ sa navrhuje príkaz „set/show print raw-frame-arguments“ (používa pomlčku namiesto medzery ako oddeľovač);
  • V rozhraní ovládacieho softvéru GDB/MI pridané nové príkazy „-complete“, „-catch-throw“, „-catch-rethrow“, „-catch-catch“, „-symbol-info-functions“, „-symbol-info-types“,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" a "--symbol-info-module-variables" sú ekvivalentné rovnakým príkazom GDB. Štandardne je aktivovaná tretia verzia MI tlmočníka (-i=mi3);

  • Pridané nové vstavané premenné:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Pridaná možnosť „--with-system-gdbinit-dir“ do skriptu configure build na určenie cesty k systémovým súborom gdbinit;
  • V rozhraní Python API bolo vykonaných niekoľko vylepšení. Pridaná možnosť stavať pomocou Pythonu 3 na Windows;
  • Zvýšili sa požiadavky na montážne prostredie. Budovanie GDB a GDBserver teraz vyžaduje aspoň GNU make 3.82. Pri vytváraní s externou knižnicou readline sa vyžaduje aspoň GNU readline 7.0.

Zdroj: opennet.ru

Pridať komentár