GDB 12.1 is uitgebracht (de eerste release van de 12.x-serie; de 12.0-branch werd gebruikt voor de ontwikkeling). GDB ondersteunt debuggen op broncodeniveau voor een breed scala aan programmeertalen (Ada, C, C++, Objective-C, Pascal, Go, Rust, enz.) op diverse hardware (i386, amd64, ARM, Power, Sparc, RISC-V, enz.) en softwareplatforms (GNU/Linux, *BSD, Unix, Windows, macOS).
Belangrijkste verbeteringen:
- Standaard is de multithreaded debug-symboollaadmodus ingeschakeld, waardoor het opstarten wordt versneld.
- Verbeterde ondersteuning voor C++-sjablonen.
- Ondersteuning geïmplementeerd voor werken op het FreeBSD-platform in asynchrone modus (async).
- De mogelijkheid is toegevoegd om het gebruik van GNU Source Highlight uit te schakelen en de Pygments-bibliotheek te gebruiken voor syntaxishighlighting.
- De opdracht "clone-inferior" controleert nu of de TTY-, CMD- en ARGS-instellingen van het oorspronkelijke debugobject (inferior) worden gekopieerd naar het nieuwe debugobject. Het zorgt er ook voor dat wijzigingen in omgevingsvariabelen die zijn aangebracht met de opdrachten 'set environment' of 'unset environment', worden gekopieerd naar het nieuwe debugobject.
- De opdracht "print" ondersteunt nu de uitvoer van drijvende-kommagetallen door de indeling van de onderliggende waarde op te geven, bijvoorbeeld in hexadecimaal ("/x").
- Добавлена поддержка запуска отладчика и GDBserver на архитектуре GNU/Linux/OpenRISC (or1k*-*-linux*). Добавлена поддержка отладки приложений для целевой платформы GNU/Linux/LoongArch (loongarch*-*-linux*). Прекращена поддержка целевой платформы S+core (score-*-*).
- GDB 12 wordt aangekondigd als de laatste release waarin bouwen met Python 2 wordt ondersteund.
- De DBX-compatibiliteitsmodus is verouderd en wordt verwijderd in de GDB 13-branch.
- Met de GDB/MI API kan de opdracht '-add-inferior' worden gebruikt zonder parameters of met de vlag '--no-connection' om de verbinding van het huidige debugobject over te nemen of zonder verbinding uit te voeren.
- Er zijn verbeteringen aangebracht aan de Python API. Het is nu mogelijk om GDB/MI-opdrachten in Python te implementeren. Er zijn nieuwe gebeurtenissen toegevoegd: gdb.events.gdb_exiting en gdb.events.connection_removed, gdb.Architecture.integer_type(), gdb.TargetConnection-object, gdb.Inferior.connection-eigenschap, gdb.RemoteTargetConnection.send_packet-methode en gdb.InferiorThread.details, gdb.Type.is_scalar en gdb.Type.is_signed-attributen.
Bron: opennet.ru
