Bolo predstavené vydanie ladiaceho nástroja GDB 13.1 (prvé vydanie série 13.x, na vývoj bola použitá vetva 13.0). GDB podporuje ladenie na úrovni zdroja pre širokú škálu programovacích jazykov (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, 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:
- Pridaná podpora pre spustenie debuggera a GDBservera na architektúrach GNU/Linux/LoongArch a GNU/Linux/CSKY.
- Bola implementovaná podpora pre prácu na platforme Windows v asynchrónnom režime (async).
- Na platforme FreeBSD bola pridaná podpora premenných TLS (Thread Local Storage) pre architektúry ARM a AArch64 a pre architektúru AArch64 bola poskytnutá možnosť používať hardvérové body prerušenia (watchpoint).
- V prostredí GNU/Linux na systémoch LoongArch bola pridaná podpora pre výpočty s pohyblivou rádovou čiarkou.
- Implementované nové príkazy "maintenance set ignore-prologue-end-flag|libopcodes-styling" a "maintenance print frame-id", ako aj príkazy na ovládanie štýlu rozobratého výstupu (set style disassembler *).
- Pridané príkazy „set print nibbles [on|off]“ a „show print nibbles“ na ovládanie zobrazenia binárnych hodnôt v štvorbajtových skupinách.
- Vylepšenia boli vykonané v Python API. Pribudlo API na rozoberanie pokynov, implementoval sa typ gdb.BreakpointLocation a pribudli funkcie gdb.format_address, gdb.current_language a gdb.print_options.
- Prvá verzia rozhrania správy GDB/MI bola zastaraná a bude odstránená v GDB 14.
- Pridaná podpora pre sekcie ladenia komprimované pomocou algoritmu zstd v súboroch ELF.
- Pridané nové vstavané premenné: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
- Výstupný formát príkazov 'rozbaliť /r' a 'zaznamenať históriu inštrukcií /r' bol upravený tak, aby zodpovedal výstupu objdump. Na vrátenie starého formátu bol pridaný režim „/b“.
- V TUI (Text User Interface) je štylizácia zdrojového kódu a kódu zostavy zvýraznená indikátorom aktuálnej polohy vypnutá.
- Na dokumentovanie užívateľských príkazov je možné použiť príkaz „document“.
- Pridaná možnosť vytvárať výpisy s údajmi pamäťových tagov používaných pri použití mechanizmu ARMv8.5 MTE (MemTag, Memory Tagging Extension), ktorý vám umožňuje viazať 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ávnou značkou.
- Režim kompatibility DBX bol ukončený.
- Podpora budovania pomocou Pythonu 2 bola ukončená.
- Príkazy „set debug aix-solib on|off“, „show debug aix-solib“, „set debug solib-frv on|off“ a „show debug solib-frv“ boli odstránené a príkazy „set/show debug“ by mal byť použitý namiesto solib."
Zdroj: opennet.ru