Debugger-Version (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 :
- 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 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 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
