GDB 9-Debugger-Version

Eingereicht von Debugger-Version GDB 9.1 (erste Veröffentlichung der 9.x-Serie, Zweig 9.0 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 usw.) auf verschiedener Hardware (i386, amd64, ARM, Power, Sparc, RISC-V). usw.) und Softwareplattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Taste Verbesserungen:

  • Die Unterstützung für die Plattformen Solaris 10 und Cell Broadband Engine wurde eingestellt.
  • Ein neuer Simulator des PRU-Subsystems (Programmable Real-time Unit) hinzugefügt, das in Texas Instruments-Prozessoren (pru-*-elf) verwendet wird;
  • Es wurde ein experimenteller Modus zum schnellen Laden von Debugging-Symbolen im Multithread-Modus hinzugefügt (aktiviert über die Einstellung „maint set worker-threads unlimited“);
  • Es ist möglich, das Symbol „.“ in Befehlsnamen zu verwenden;
  • Es wurde die Möglichkeit hinzugefügt, Haltepunkte für verschachtelte Funktionen und Unterroutinen in Fortran festzulegen;
  • Es wurden Arbeiten durchgeführt, um einen einheitlichen Stil zu erreichen und die Lesbarkeit der Befehle zu verbessern.
  • Für die Übergabe von Befehlsargumenten mithilfe des Bindestrichs („-OPT“) wurde eine Standardinfrastruktur implementiert, die eine automatische Vervollständigung mithilfe der Tabulatortaste ermöglicht.
  • Die Befehle „printf“ und „eval“ implementieren die Unterstützung für die Ausgabe von Zeichenfolgen im C- und Ada-Stil, ohne direkt eine Funktion im Programm aufzurufen;
  • Unterstützung für das Filtern von Ausgabedateien basierend auf einem regulären Ausdruck im Befehl „Infoquellen“ hinzugefügt;
  • In der Einstellung „set print frame-arguments“ ist der Parameter „presence“ implementiert. Wenn er gesetzt ist, wird für Argumente nur der Anwesenheitsindikator „…“ angezeigt, anstatt den Namen und den Wert anzuzeigen;
  • In der Schnittstelle TUI Bei den Befehlen „focus“, „winheight“, „+“, „-“, „>“, „<“ wird jetzt zwischen Groß- und Kleinschreibung unterschieden.
  • Für die Befehle „print“, „compile print“, „backtrace“, „frame“
    Die Optionen „apply“, „tfaas“ und „faas“ wurden implementiert, um globale Einstellungen zu überschreiben (z. B. diejenigen, die über „set print […]“ festgelegt wurden);

  • Die Option „-q“ wurde zum Befehl „Infotypen“ hinzugefügt, um die Ausgabe einiger Header zu deaktivieren;
  • In den Einstellungen können Sie statt des „unbegrenzten“ Wertes nun „u“ angeben;
  • Neue Befehle hinzugefügt:
    • „define-prefix“, um Ihre eigenen Präfixbefehle zu definieren;
    • „|“ oder „pipe“, um einen Befehl auszuführen und die Ausgabe an einen Shell-Befehl umzuleiten;
    • „with“, um den angegebenen Befehl mit vorübergehend geänderten Einstellungen auszuführen;
    • „May-Call-Funktionen festlegen“, um zu steuern, ob eine Unterroutine von GDB aus aufgerufen werden kann;
    • „set print finish [on|off]“, um die Anzeige des Rückgabewerts bei Verwendung des „finish“-Befehls zu steuern;
    • „Setze die maximale Drucktiefe“, um die Ausgabe verschachtelter Strukturen zu begrenzen.
    • „set print raw-values ​​​​[on|off]“, um die Formatierung von Ausgabewerten zu aktivieren/deaktivieren;
    • „set logging debugredirect [on|off]“, um das Speichern der Debug-Ausgabe in einer Protokolldatei zu steuern;
    • Eine Reihe neuer „Stil festlegen“-Befehle;
    • „set print frame-info […]“, um die Informationen zu definieren, die gedruckt werden sollen, wenn der Stack-Frame-Status angezeigt wird;
    • „set tui compact-source“, um den Kompaktmodus für die Anzeige von Code in der TUI-Schnittstelle (Text User Interface) zu aktivieren;
    • „Infomodule […]“, um Informationen über Fortran-Module anzufordern;
    • Anstelle von „set/show print raw-frame-arguments“ wird der Befehl „set/show print raw-frame-arguments“ vorgeschlagen (verwendet einen Bindestrich anstelle eines Leerzeichens als Trennzeichen);
  • In der Steuerungssoftwareschnittstelle GDB/MI Neue Befehle hinzugefügt „-complete“, „-catch-throw“, „-catch-rethrow“, „-catch-catch“, „-symbol-info-functions“, „-symbol-info-types“,
    „-symbol-info-variables“, „-symbol-info-modules“, „-symbol-info-module-functions“ und „-symbol-info-module-variables“ entsprechen denselben GDB-Befehlen. Standardmäßig ist die dritte Version des MI-Interpreters aktiviert (-i=mi3);

  • Neue integrierte Variablen hinzugefügt:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Option „--with-system-gdbinit-dir“ zum Build-Konfigurationsskript hinzugefügt, um den Pfad zu den gdbinit-Systemdateien zu bestimmen;
  • An der Python-API wurden eine Reihe von Verbesserungen vorgenommen. Möglichkeit zum Erstellen mit Python 3 unter Windows hinzugefügt;
  • Die Anforderungen an die Montageumgebung wurden erhöht. Für die Erstellung von GDB und GDBserver ist jetzt mindestens GNU make 3.82 erforderlich. Beim Erstellen mit einer externen Readline-Bibliothek ist mindestens GNU Readline 7.0 erforderlich.

Source: opennet.ru

Kommentar hinzufügen