GDB 15.1 is uitgebracht (de eerste release van de 15.x-serie; de ββ15.0-branch werd gebruikt voor de ontwikkeling). GDB ondersteunt debuggen op broncodeniveau voor een breed scala aan programmeertalen (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, enz.) op diverse hardware (i386, amd64, ARM, Power, Sparc, RISC-V, enz.) en softwareplatformen (GNU/Linux, *BSD, Unix, Windows, macOS).
Belangrijkste verbeteringen:
- Voor het bouwen van GDB en GDBserver is nu een compiler vereist die C++17 ondersteunt (minstens GCC 9).
- Er zijn verbeteringen aangebracht aan de Python API. Functies gdb.notify_mi, gdb.missing_debug.register_handler en gdb.interrupt toegevoegd, klasse gdb.missing_debug.MissingDebugInfo, module db.missing_debug, attributen gdb.Value.bytes en gdb.InferiorThread.ptid_string, constanten gdb.SYMBOL_TYPE_DOMAIN, NCTION_DOMAIN en gdb. ZOEKEN_*_DOMAIN. De objecten gdb.Inferior en gdb.InferiorThread bieden de mogelijkheid om aangepaste attributen toe te voegen.
- De implementatie van het DAP-protocol (Debugger Adapter Protocol) is voortgezet. De opdracht "set debug dap-log-level" is toegevoegd om de logboekregistratie voor DAP's te beheren. Ondersteuning toegevoegd voor het βannulerenβ-verzoek en de mogelijkheid om de βprocessβ-gebeurtenis te genereren.
- Ondersteuning voor de pakketten QThreadOptions en qIsAddressTagged is toegevoegd aan het protocol voor foutopsporing op afstand, en de opdracht βset/show remote thread-options-packetβ is geΓ―mplementeerd.
- GDBserver ondersteunt niet langer de opties "--remote-debug" en "--event-loop-debug", evenals de opdrachten 'monitor set remote-debug' en 'monitor set event-loop-debug', die zijn vervangen door de optie "--debug" De mogelijkheid om een ββdoor komma's gescheiden lijst met componenten door te geven voor foutopsporing (alle, threads, gebeurtenislus en extern) is geΓ―mplementeerd. Op dezelfde manier is de mogelijkheid om componenten te specificeren geΓ―mplementeerd in de opdracht 'monitor set debug'.
- Informatie over de hoofdfunctie aan de index toegevoegd, waardoor sneller opstarten mogelijk is bij gebruik met enkele grote uitvoerbare bestanden.
- De MPX-opdrachten βshow/set mpx boundβ, die in 2019 door Intel zijn stopgezet, zijn verouderd.
- Nieuwe commando's toegevoegd:
- "time-out voor directe oproep instellen/tonen"
- "instellen/tonen van indirecte oproeptime-out"
- "instellen/toon ontspannen-aan-time-out aan|uit"
- "ontspan-aan-signaal aan/uit instellen/tonen"
- De opdrachten "gcore" en "generate-core-file" ondersteunen nu het optimaliseren van de opslag van lege gebieden in gegenereerde kernbestanden.
Bron: opennet.ru
