Veröffentlichung des Debuggers GDB 9

Präsentiert Debugger-Version GDB 9.1 (erste Veröffentlichung der Serie 9.x; der 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).

Schlüssige Verbesserungen:

  • Die Unterstützung für die Plattformen Solaris 10 und Cell Broadband Engine wurde eingestellt;
  • Ein neuer Simulator für das PRU-Subsystem (Programmable Real-time Unit), das in Texas Instruments-Prozessoren verwendet wird (pru-*-elf), wurde hinzugefügt;
  • Ein experimenteller Modus für das schnelle Laden von Debug-Symbolen im Multithreading-Modus wurde hinzugefügt (aktivierbar durch die Einstellung ‘maint set worker-threads unlimited’);
  • Es wurde die Möglichkeit geschaffen, den Punkt ‘.’ in Befehlsnamen zu verwenden;
  • Die Möglichkeit wurde hinzugefügt, Haltepunkte in verschachtelten Funktionen und Unterprogrammen in Fortran zu setzen;
  • Es wurde an der Vereinheitlichung des Stils und der Verbesserung der Lesbarkeit von Befehlen gearbeitet;
  • Eine standardisierte Infrastruktur zur Übergabe von Befehlsargumenten mit dem Minuszeichen (‘-OPT’) wurde implementiert, was die Verwendung von Tabulator-Autovervollständigung ermöglicht;
  • In den Befehlen „printf“ und „eval“ wird die Unterstützung für die Ausgabe von Zeichenfolgen im C- und Ada-Stil ohne direkten Funktionsaufruf in der Anwendung implementiert;
  • Im Befehl „info sources“ wurde die Unterstützung für die Filterung der ausgegebenen Dateien auf Basis regulärer Ausdrücke hinzugefügt;
  • In der Einstellung „set print frame-arguments“ wurde der Parameter „presence“ implementiert, bei dessen Aktivierung für die Argumente lediglich der Indikator „…“ anstelle des Namens und Wertes ausgegeben wird;
  • Im Interface TUI sind die Befehle „focus“, „winheight“, „+“, „-“, „>“, „<“ jetzt Groß- und Kleinschreibungsempfindlich;
  • Für die Befehle „print“, „compile print“, „backtrace“, „frame
    apply“, „tfaas“ und „faas“ wurden Optionen implementiert, um globale Einstellungen (z.B. über „set print […]“) zu überschreiben;
  • Im Befehl „info types“ wurde die Option „-q“ hinzugefügt, um die Ausgabe bestimmter Header zu deaktivieren;
  • In den Einstellungen kann anstelle des Wertes „unlimited“ jetzt „u“ angegeben werden;
  • Neue Befehle hinzugefügt:
    • „define-prefix“ zur Definition eigener Präfixbefehle;
    • „|“ oder „pipe“ zum Starten eines Befehls und Umleiten der Ausgabe an das Kommando der Shell;
    • „with“, um den angegebenen Befehl mit vorübergehend geänderten Einstellungen auszuführen;
    • „set may-call-functions“ zur Steuerung der Möglichkeit, Unterprogramme aus GDB aufzurufen;
    • „set print finish [on|off]“ zur Steuerung der Anzeige des Rückgabewerts bei der 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 einer Protokolldatei;
    • Eine Reihe neuer Befehle „set style“;
    • „set print frame-info […]“ zur Bestimmung der Informationen, die bei der Anzeige des Zustands des Stapelrahmens ausgegeben werden sollen;
    • „set tui compact-source“ zur Aktivierung des kompakten Modus der Codeanzeige in der TUI (Textbenutzerschnittstelle);
    • „info modules […]“ zur Abfrage von Informationen über Fortran-Module;
    • 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“ hinzugefügt,
    Die Variablen «-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» und «-symbol-info-module-variables» entsprechen den ähnlichen GDB-Befehlen. 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
  • Die Option «—with-system-gdbinit-dir» wurde zum Konfigurationsskript hinzugefügt, um den Pfad zu Systemdateien gdbinit festzulegen;
  • Verbesserungen der Python-API wurden vorgenommen. Unterstützung für die Kompilierung mit Python 3 unter Windows hinzugefügt;
  • Die Anforderungen an die Build-Umgebung wurden erhöht. Zur Erstellung von GDB und GDBserver wird nun mindestens GNU make 3.82 benötigt. Bei der Kompilierung mit der externen Bibliothek readline ist mindestens GNU readline 7.0 erforderlich.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster