Vydanie ladiaceho nástroja GDB 11

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

Kľúčové vylepšenia:

  • TUI (Text User Interface) pridalo podporu pre akcie myši a možnosť posúvania obsahu pomocou kolieska myši. Povolené preposielanie kombinácií kľúčov do GDB, ktoré nie sú spracované v TUI.
  • Pridaná podpora pre mechanizmus ARMv8.5 MTE (MemTag, Memory Tagging Extension), ktorý umožňuje naviazať tagy na každú operáciu alokácie pamäte a organizovať kontrolu ukazovateľa pri prístupe do pamäte, ktorá musí byť spojená so správnym tagom. Remote Debug Control Protocol poskytuje podporu pre balíky „qMemTags“ a „QMemTags“ na viazanie tagov do pamäte.
  • Logika čítania konfiguračných súborov bola zmenená. Súbor .gdbinit sa teraz kontroluje v nasledujúcom poradí: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit a $HOME/.gdbinit. Tie. najprv v podadresári config a až potom v domovskom adresári.
  • V príkaze „break […] if CONDITION“ sa chybový výstup zastaví, keď je podmienka na určitých miestach neplatná, ak je podmienka platná aspoň v jednom prípade.
  • Pridaná podpora pre ladenie výpisov jadra generovaných pre programy Cygwin skompilované pre architektúru x86_64.
  • Pridaná podpora pre typy s pevným bodom, ako aj konštanty DW_AT_GNU_numerator a DW_AT_GNU_denominator.
  • Pridané nastavenie „spustenie-tiché zapnutie|vypnutie“; keď je „on“, podobne ako možnosť „-tichý“.
  • Príkaz "ptype" implementuje voľby /x" a "/d" na výber šestnástkovej alebo desiatkovej sústavy pri zobrazovaní veľkostí a posunov. Pridané nastavenie „hex type tlače on|off“ na použitie hexadecimálnych hodnôt vo výstupe príkazu „ptype“.
  • V príkaze "inferior" sa pri volaní bez argumentov poskytuje výstup aktuálneho ladiaceho objektu (nižšieho).
  • Výstup príkazu „info source“ bol prepracovaný.
  • Pridaný príkaz „style version foreground | pozadie | intenzita“ na ovládanie štýlu číslovania verzií.
  • Pridané nové možnosti príkazového riadka: „—early-init-command“ („-eix“), „—early-init-eval-command“ („-eiex“), „—qualified“ (pre príkazy '-break-insert ) ' a '-dprintf-insert'), "--force-condition" (pre príkazy '-break-insert' a '-dprintf-insert'), "--force" (pre '-break-condition príkaz).
  • Príkaz '-file-list-exec-source-files' vám ​​umožňuje zadať regulárne výrazy na odfiltrovanie zdrojových súborov, ktoré sa majú spracovať. Do výstupu bolo pridané pole 'debug-full-read', ktoré označuje rozsah, v akom boli načítané ladiace informácie.
  • Vylepšenia boli vykonané v Python API. Pridané nové metódy gdb.Frame.level() a db.PendingFrame.level() na vrátenie úrovne zásobníka pre objekt Frame. Keď sa spustí záchytný bod, Python API zaistí odoslanie gdb.BreakpointEvent namiesto gdb.StopEvent. Pridané nastavenia "python ignore-environment on|off" na ignorovanie premenných prostredia a "python dont-write-bytecode auto|on|off" na zakázanie zápisu bajtkódu.
  • Vylepšenia boli vykonané v Guile API. Pribudli nové postupy hodnota-referenčná-hodnota, hodnota-rvalue-referenčná-hodnota a hodnota-konštantná-hodnota.
  • Medzi požadované závislosti zostavy patrí knižnica GMP (GNU Multiple Precision Arithmetic).
  • Podpora platformy ARM Symbian (arm*-*-symbianelf*) bola ukončená.

Zdroj: opennet.ru

Pridať komentár