GDB 12-Debugger-Version

Die Veröffentlichung des GDB 12.1-Debuggers wurde vorgestellt (die erste Veröffentlichung der 12.x-Serie, der 12.0-Zweig wurde für die Entwicklung verwendet). GDB unterstützt das Debuggen auf Quellebene für eine Vielzahl von Programmiersprachen (Ada, C, C++, Objective-C, Pascal, Go, Rust usw.) auf verschiedener Hardware (i386, amd64, ARM, Power, Sparc, RISC). - V usw.) und Softwareplattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Wichtigste Verbesserungen:

  • Standardmäßig ist der Multithread-Modus zum Laden von Debugging-Symbolen aktiviert, was den Start beschleunigt.
  • Verbesserte Unterstützung für C++-Vorlagen.
  • Unterstützung für das Arbeiten auf der FreeBSD-Plattform im asynchronen Modus (async) wurde implementiert.
  • Es ist möglich, die Verwendung von GNU Source Highlight zu deaktivieren und die Pygments-Bibliothek für die Syntaxhervorhebung zu verwenden.
  • Der Befehl „clone-inferior“ prüft, ob die TTY-, CMD- und ARGS-Einstellungen vom ursprünglichen Debug-Objekt (inferior) auf das neue Debug-Objekt kopiert werden. Es stellt außerdem sicher, dass alle Änderungen an Umgebungsvariablen, die mit den Befehlen „Set Environment“ oder „Unset Environment“ vorgenommen werden, in das neue Debug-Objekt kopiert werden.
  • Der Befehl „print“ unterstützt das Drucken von Gleitkommazahlen und gibt das Format des zugrunde liegenden Werts an, z. B. Hexadezimal („/x“).
  • Unterstützung für die Ausführung des Debuggers und des GDBservers auf der GNU/Linux/OpenRISC-Architektur (or1k*-*-linux*) hinzugefügt. Unterstützung für das Debuggen von Anwendungen für die GNU/Linux/LoongArch-Zielplattform (loongarch*-*-linux*) hinzugefügt. Die Unterstützung für die S+core-Zielplattform (score-*-*) wurde eingestellt.
  • GDB 12 wird als letzte Version angekündigt, die das Erstellen mit Python 2 unterstützt.
  • Veraltet und wird im GDB 13 DBX-Kompatibilitätsmodus entfernt.
  • Die GDB/MI-Verwaltungs-API ermöglicht die Verwendung des Befehls „-add-inferior“ ohne Parameter oder mit dem Flag „--no-connection“, um eine Verbindung vom aktuellen Debug-Objekt zu erben oder ohne Verbindung auszuführen.
  • Es wurden Verbesserungen an der Python-API vorgenommen. Es besteht die Möglichkeit, GDB/MI-Befehle in Python zu implementieren. Neue Ereignisse gdb.events.gdb_exiting und gdb.events.connection_removed, Funktion gdb.Architecture.integer_type(), Objekt gdb.TargetConnection, Eigenschaft gdb.Inferior.connection, Methode gdb.RemoteTargetConnection.send_packet und Attribute gdb.InferiorThread.details hinzugefügt. gdb.Type.is_scalar und gdb.Type.is_signed.

Source: opennet.ru

Kommentar hinzufügen