Vydanie ladiaceho nástroja GDB 12

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

Pridať komentár