Veröffentlichung des Debuggers GDB 9

Vorstellung Debugger-Version GDB 9.1 (erste Veröffentlichung der Serie 9.x, Branch 9.0 wurde fĂŒr die Entwicklung verwendet). GDB unterstĂŒtzt das Debugging auf Quelltext-Ebene fĂŒr eine Vielzahl von Programmiersprachen (Ada, C, C++, Objective-C, Pascal, Go usw.) auf verschiedenen Hardware-Plattformen (i386, amd64, ARM, Power, Sparc, RISC-V usw.) und Software-Plattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Hauptmerkmale Verbesserungen:

  • UnterstĂŒtzung fĂŒr die Plattformen Solaris 10 und Cell Broadband Engine eingestellt.
  • Ein neuer Simulator fĂŒr das PRU (Programmable Real-time Unit) wurde hinzugefĂŒgt, der in Texas Instruments-Prozessoren verwendet wird (pru-*-elf).
  • Ein experimenteller Modus fĂŒr das schnelle Laden von Debug-Symbolen im Multithread-Modus wurde hinzugefĂŒgt (aktiviert ĂŒber die Einstellung ‘maint set worker-threads unlimited’).
  • Es wurde die Möglichkeit geschaffen, den Punkt ‘.’ in Befehlnamen zu verwenden.
  • Die Möglichkeit, Haltepunkte in verschachtelten Funktionen und Unterprogrammen in Fortran zu setzen, wurde hinzugefĂŒgt.
  • Es wurden Arbeiten zur Vereinheitlichung des Stils und zur Verbesserung der Lesbarkeit der Befehle durchgefĂŒhrt.
  • Die native Infrastruktur zur Übertragung von Befehlsargumenten mithilfe des Bindestrichs (‘-OPT’) wurde implementiert, was die Verwendung der Tabulator-AutovervollstĂ€ndigung ermöglicht.
  • In den Befehlen ‘printf’ und ‘eval’ wurde die UnterstĂŒtzung fĂŒr die Ausgabe von Zeichenfolgen im Stil von C und Ada ohne direkten Funktionsaufruf im Programm implementiert.
  • Im Befehl ‘info sources’ wurde die UnterstĂŒtzung fĂŒr die Filterung der ausgegebenen Dateien auf der Grundlage regulĂ€rer AusdrĂŒcke hinzugefĂŒgt.
  • In der Einstellung ‘set print frame-arguments’ wurde der Parameter ‘presence’ implementiert, bei dem fĂŒr Argumente nur das Vorhandensein ‘
’ anstelle von Name und Wert ausgegeben wird.
  • Im Interface TUI sind die Befehle ‘focus’, ‘winheight’, ‘+’, ‘-‘, ‘>’, ‘<’ nun groß- und kleinschreibungsempfindlich.
  • FĂŒr die Befehle ‘print’, ‘compile print’, ‘backtrace’, ‘frame
    apply’, ‘tfaas’ und ‘faas’ wurden Optionen zur Überschreibung globaler Einstellungen implementiert (z.B. die ĂŒber ‘set print [
]’ festgelegt werden).
  • Im Befehl ‘info types’ wurde die Option ‘-q’ hinzugefĂŒgt, um die Ausgabe bestimmter Header zu deaktivieren.
  • In den Einstellungen kann anstelle von ‘unlimited’ nun ‘u’ angegeben werden.
  • Neue Befehle wurden hinzugefĂŒgt:
    • ‘define-prefix’ zur Definition eigener PrĂ€fixbefehle.
    • ‘|’ oder ‘pipe’ zur AusfĂŒhrung eines Befehls und zur Umleitung der Ausgabe in einen Shell-Befehl.
    • ‘with’ zum AusfĂŒhren des angegebenen Befehls mit zeitlich geĂ€nderten Einstellungen.
    • ‘set may-call-functions’ zur Steuerung der Möglichkeit, Unterprogramme aus GDB aufzurufen.
    • „set print finish [on|off]“ zur Steuerung der Anzeige des zurĂŒckgegebenen Wertes bei Verwendung des Befehls „finish“;
    • „set print max-depth“ zur Begrenzung der Ausgabe von verschachtelten Strukturen;
    • „set print raw-values [on|off]“ zur Aktivierung/Deaktivierung der Formatierung der ausgegebenen Werte;
    • „set logging debugredirect [on|off]“ zur Steuerung der Speicherung der Debug-Ausgabe in eine Log-Datei;
    • Eine Reihe neuer Befehle „set style“;
    • „set print frame-info [
]“ zur Bestimmung der Informationen, die bei der Anzeige des Zustands des Stack-Frames ausgegeben werden sollen;
    • „set tui compact-source“ zur Aktivierung des kompakten Modus der Codeanzeige in der TUI (TextbenutzeroberflĂ€che);
    • „info modules [
]“ zur Abfrage von Informationen zu Fortran-Modulen;
    • Anstelle von „set/show print raw frame-arguments“ wurde der Befehl „set/show print raw-frame-arguments“ vorgeschlagen (als Trennzeichen wird ein Bindestrich anstelle eines Leerzeichens verwendet);
  • In die Programmierschnittstelle fĂŒr die Steuerung GDB/MI wurden neue Befehle „-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“ hinzugefĂŒgt, die Ă€quivalent zu Ă€hnlichen GDB-Befehlen sind. StandardmĂ€ĂŸig ist die dritte Version des MI-Interpreters (-i=mi3) aktiviert;
  • Neue eingebaute 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
  • Im Konfigurationsskript wurde die Option „—with-system-gdbinit-dir“ zur Bestimmung des Pfades zu den Systemdateien gdbinit hinzugefĂŒgt;
  • Eine Reihe von Verbesserungen im Python-API wurde vorgenommen. UnterstĂŒtzung fĂŒr die Kompilierung mit Python 3 unter Windows hinzugefĂŒgt;
  • Die Anforderungen an die Build-Umgebung wurden erhöht. FĂŒr den Build von GDB und GDBserver ist nun mindestens GNU make 3.82 erforderlich. Beim Build mit einer externen readline-Bibliothek ist mindestens GNU readline 7.0 erforderlich.

Quelle: opennet.ru

60GB SSD 8Gb DDR4