Bolo predstavené vydanie ladiaceho nástroja GDB 12.1 (prvé vydanie série 12.x, na vývoj bola použitá vetva 12.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:
- V predvolenom nastavení je povolený viacvláknový režim na načítanie symbolov ladenia, čo zrýchľuje spustenie.
- Vylepšená podpora pre šablóny C++.
- Bola implementovaná podpora pre prácu na platforme FreeBSD v asynchrónnom režime (async).
- Je možné zakázať používanie GNU Source Highlight a použiť knižnicu Pygments na zvýraznenie syntaxe.
- Príkaz "clone-inferior" kontroluje, či sú nastavenia TTY, CMD a ARGS skopírované z pôvodného objektu ladenia (nižšieho) do nového objektu ladenia. Zabezpečuje tiež, že všetky zmeny premenných prostredia vykonané pomocou príkazov „set environment“ alebo „unset environment“ sa skopírujú do nového objektu ladenia.
- Príkaz "print" poskytuje podporu pre tlač čísel s pohyblivou rádovou čiarkou, pričom určuje formát základnej hodnoty, ako napríklad hexadecimálny ("/x").
- Pridaná podpora pre spustenie debuggera a GDBservera na architektúre GNU/Linux/OpenRISC (alebo 1k*-*-linux*). Pridaná podpora pre ladiace aplikácie pre cieľovú platformu GNU/Linux/LoongArch (loongarch*-*-linux*). Podpora pre cieľovú platformu S+core (skóre-*-*) bola ukončená.
- GDB 12 je ohlásené ako posledné vydanie na podporu budovania s Pythonom 2.
- Zastarané a budú odstránené v režime kompatibility GDB 13 DBX.
- Rozhranie API na správu GDB/MI umožňuje použitie príkazu „-add-inferior“ bez parametrov alebo s príznakom „--no-connection“ na zdedenie pripojenia z aktuálneho objektu ladenia alebo na spustenie bez pripojenia.
- Vylepšenia boli vykonané v Python API. Poskytuje sa možnosť implementovať príkazy GDB/MI v Pythone. Pridané nové udalosti gdb.events.gdb_exiting a gdb.events.connection_removed, funkcia gdb.Architecture.integer_type(), objekt gdb.TargetConnection, vlastnosť gdb.Inferior.connection, metóda gdb.RemoteTargetConnection.send_packet a atribúty gdb.InferiorT gdb.Type.is_scalar a gdb.Type.is_signed.
Zdroj: opennet.ru