Debugger-Version , die das Debugging auf Quelltext-Ebene für eine Vielzahl von Programmiersprachen (Ada, C, C++, Objective-C, Pascal, Go usw.) auf unterschiedlichen Hardware- (i386, amd64, ARM, Power, Sparc, RISC-V usw.) und Software-Plattformen (GNU/Linux, *BSD, Unix, Windows, macOS) unterstützt.
Schlüssige :
- In den CLI- und TUI-Schnittstellen wurde die Möglichkeit implementiert, den Terminalstil zu definieren (Befehl „set style“ hinzugefügt). Bei Vorhandensein von GNU Highlight erfolgt die Syntaxhervorhebung;
- Es wurde experimentelle Unterstützung für die Kompilierung und Einfügung von C++-Quellcode in einen durch GDB gesteuerten Prozess implementiert
(). Für den Betrieb ist mindestens Version GCC 7.1 erforderlich, die mit libcp1.so gebaut wurde; - In GDB und GDBserver wurde Unterstützung für IPv6 hinzugefügt. Für die Angabe von IPv6-Adressen sollte das Format „[ADDRESS]:PORT“ verwendet werden;
- Für Zielsysteme RISC-V wurde Unterstützung für die Beschreibung des Ziels im XML-Format hinzugefügt ();
- Auf der FreeBSD-Plattform wurde die Unterstützung für die Einrichtung von Haltepunkten
(Catchpoint) für Systemaufrufe bereitgestellt, wobei deren spezifische Aliase für verschiedene ABI verwendet werden (z. B. steht für 'kevent' der Alias 'freebsd11_kevent' zur Bindung an die alte ABI zur Verfügung); - Im Team „target remote“ wurde die Unterstützung von Unix-Sockets (Unix Domain Socket) hinzugefügt;
- Es wurde die Möglichkeit hinzugefügt, alle von einem Prozess geöffneten Dateien anzuzeigen (Befehl „info proc files“);
- Die Funktion zum automatischen Speichern von DWARF-Symbolindizes auf der Festplatte wurde implementiert, um das nachfolgende Laden derselben ausführbaren Datei zu beschleunigen;
- In GDBserver für die PowerPC GNU/Linux-Plattform wurde die Unterstützung für den Zugriff auf die Register PPR, DSCR, TAR, EBB/PMU und HTM hinzugefügt;
- Neue Befehle „set/show debug compile-cplus-types“ sowie
„set/show debug skip“ wurden hinzugefügt, um die Ausgabe von Informationen zu C++-Typumwandlungen und zu übersprungenen Dateien und Funktionen zu steuern; - Es wurden die Befehle „frame apply COMMAND“, „taas COMMAND“, „faas COMMAND“, „tfaas COMMAND“ hinzugefügt, um Befehle auf Stack-Frames und Threads anzuwenden;
- Verbesserungen wurden in die Befehle „frame“, „select-frame“, „info frame“,
— „info functions“, „info types“, „info variables“, „info thread“, „info proc“ integriert; - Beim Start im Batch-Modus gibt GDB nun im Falle eines Fehlers bei der Ausführung des letzten Befehls einen Fehlercode von 1 zurück;
- Die Möglichkeit, GDB mit dem bereitgestellten GCC-Detektor für undefiniertes Verhalten (Undefined Behavior Sanitizer) zu kompilieren, wurde hinzugefügt;
- Die Basiskonfigurationseinstellungen (native configuration, zur Fehlersuche im selben System) für die Plattformen RISC-V GNU/Linux (riscv*-*-linux*) und RISC-V FreeBSD (riscv*-*-freebsd*) wurden hinzugefügt;
- Die Zielsystemkonfigurationen (target configuration): CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) und RISC-V FreeBSD (riscv*-*-freebsd*) wurden hinzugefügt;
- Das Debugging im selben System unter Windows erfordert jetzt Windows XP oder neuere Versionen;
- Für die Nutzung der Python API wird jetzt Python 2.6 oder neuer benötigt.
Quelle: opennet.ru
