Release des Debuggers GDB 14

Die neue Version des Debuggers GDB 14.1 wurde veröffentlicht (dies ist der erste Release der Serie 14.x, die Version 14.0 wurde für die Entwicklung genutzt). GDB unterstützt das Debugging auf Quellcodeebene für eine Vielzahl von Programmiersprachen (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust usw.) auf verschiedenen Hardware- (i386, amd64, ARM, Power, Sparc, RISC-V usw.) und Softwareplattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Wesentliche Verbesserungen:

  • Der Code wurde auf die Verwendung des Standards C++17 umgestellt. Zum Bau von GDB ist jetzt ein Compiler erforderlich, der C++17 unterstützt (mindestens GCC 9).
  • Informationen zur main-Funktion wurden in den Index aufgenommen, was den Start mit einigen großen ausführbaren Dateien beschleunigt.
  • Die Unterstützung für die Betriebssysteme AIX 4.x, 5.x und 6.x wurde eingestellt (als minimal unterstützte Version von AIX wird Release 7.1 ausgewiesen).
  • Anfängliche integrierte Unterstützung für das DAP (Debugger Adapter Protocol) wurde hinzugefügt.
  • Unterstützung für die Umgebungsvariable NO_COLOR wurde hinzugefügt.
  • Anfängliche Unterstützung für Ganzzahltypen größer als 64 Bit wurde hinzugefügt.
  • Unterstützung für Haltepunkte, die an einzelnen Debugging-Objekten festgebunden sind (bei der Fehlerbehebung mit mehreren Prozessen), wurde eingeführt.
  • Die Funktion „$_shell“ wurde hinzugefügt, um einen Befehl in der Kommandozeile auszuführen und das Ergebnis zurückzugeben.
  • Verbesserungen der Python-API wurden vorgenommen:
    • Die Klassen gdb.Thread, gdb.unwinder.FrameId und gdb.ValuePrinter wurden hinzugefügt.
    • Es wurden Attribute wie gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename hinzugefügt.
    • Die Funktionen gdb.execute_mi(COMMAND, [ARG]…) und gdb.block_signals() wurden hinzugefügt.
    • Die Methoden gdb.Frame.static_link, gdb.Inferior ‘clear_env’, ‘set_env’ und ‘unset_env’, gdb.Type ‘is_array_like’ und ‘is_string_like’, gdb.Value ‘assign’, gdb.Value ‘to_array’, gdb.Progspace ‘objfile_for_address’, gdb.LazyString __str__ wurden hinzugefügt. Ereignisse wie gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent wurden hinzugefügt.
  • Die Möglichkeit, bestimmte Funktionen für entfernte Debugging-Ziele ein- und auszuschalten, wurde hinzugefügt.
  • Die Unterstützung für die AArch64-Architektur wurde verbessert. Unterstützung für die Erweiterungen SME (Scalable Matrix Extension) und SME2 wurde hinzugefügt.
  • Die Unterstützung für die Programmiersprache Ada und die Ada 2022-Spezifikation wurde verbessert.
  • Der Befehl ‚list‘ unterstützt nun das Argument ‘.’ zur Anzeige des Standorts des Ausführungsorts im aktuellen Stapelrahmen.
  • Den Befehlen printf und dprintf wurde der Formatbezeichner ‘%V’ hinzugefügt.
  • Im Befehl printf ist die Größe des aus dem Debugging-Objekt extrahierten Strings auf den Wert der Einstellung ‘max-value-size’ begrenzt.
  • Die neue Option "—additional-debug-dirs=PATH" wurde hinzugefügt, um den Standardwert für das Parameter ‘debug-file-directory’ festzulegen.
  • Der neue Befehl „info main“ wurde hinzugefügt, um das Hauptsymbol auszulesen, das den Einstiegspunkt im Programm angibt.
  • Neue Befehle hinzugefügt:
    • "set debug breakpoint on|off"
    • "set tui mouse-events [on|off]"
    • "set always-read-ctf on|off"
    • "maintenance print record-instruction [ N ]"
    • "maintenance info frame-unwinders"
    • "maintenance wait-for-index-cache"

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster