Veröffentlichung des Debuggers GDB 8.3

Vorstellung Debugger-Version GDB 8.3, der die Debugging auf Quellcode-Ebene für eine Vielzahl von Programmiersprachen (Ada, C, C++, Objective-C, Pascal, Go usw.) auf verschiedenen Hardware- (i386, amd64, ARM, Power, Sparc, RISC-V usw.) und Software-Plattformen (GNU/Linux, *BSD, Unix, Windows, macOS) unterstützt.

Hauptmerkmale Verbesserungen:

  • In den CLI- und TUI-Schnittstellen wurde die Möglichkeit zur Festlegung des Terminalstils implementiert (Befehl „set style“ hinzugefügt). Bei Vorhandensein von GNU Highlight wird die Syntaxhervorhebung für den Quelltext unterstützt;
  • Es wurde experimentelle Unterstützung für die Kompilierung und Einfügung von C++-Quellcode in einen von GDB gesteuerten Prozess implementiert
    (untergeordnet). Für den Betrieb ist mindestens die Version GCC 7.1 erforderlich, die mit libcp1.so kompiliert wurde;
  • In GDB und GDBserver wurde die Unterstützung von IPv6 hinzugefügt. Adressen im IPv6-Format sollten im Format „[ADDRESS]:PORT“ angegeben werden;
  • Für Zielsysteme von RISC-V wurde die Unterstützung für die Zielbeschreibung im XML-Format hinzugefügt (Zielbeschreibungsformat);
  • Auf der FreeBSD-Plattform wurde die Unterstützung für das Setzen von Haltepunkten
    (Catchpoint) bei Systemaufrufen, unter Verwendung ihrer spezifischen Aliasnamen für verschiedene ABI, implementiert (zum Beispiel steht für „kevent“ der Alias „freebsd11_kevent“ für das ältere ABI zur Verfügung);
  • In den Befehl „target remote“ wurde die Unterstützung für Unix-Sockets (Unix-Domain-Socket) hinzugefügt;
  • Die Möglichkeit zur Anzeige aller von einem Prozess geöffneten Dateien wurde hinzugefügt (Befehl „info proc files“);
  • Die Möglichkeit zur automatischen Speicherung von DWARF-Symbolindizes auf der Festplatte zur Beschleunigung des späteren Ladens derselben ausführbaren Datei wurde implementiert;
  • 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;
  • Es wurden neue Befehle „set/show debug compile-cplus-types“ und
    „set/show debug skip“ zur Konfiguration der Ausgaben über die Typumwandlungen von C++ und Informationen über übersprungene Dateien und Funktionen hinzugefügt;
  • Neue Befehle „frame apply COMMAND“, „taas COMMAND“, „faas COMMAND“, „tfaas COMMAND“ zum Anwenden von Befehlen auf Stackrahmen und Threads wurden hinzugefügt;
  • Verbesserungen wurden in den Befehlen „frame“, „select-frame“, „info frame“
    — „info functions“, „info types“, „info variables“, „info thread“, „info proc“ durchgeführt;
  • Beim Start im Batchmodus gibt GDB nun den Fehlercode 1 zurück, wenn die letzte Ausführung fehlschlägt;
  • Die Möglichkeit zur Erstellung von GDB mit dem bereitgestellten GCC-Detektor für undefiniertes Verhalten (Undefined Behavior Sanitizer) wurde hinzugefügt;
  • Die Basiskonfigurationen (native configuration, für Debugging auf demselben System) für RISC-V GNU/Linux-Plattformen (riscv*-*-linux*) und RISC-V FreeBSD (riscv*-*-freebsd*) wurden hinzugefügt;
  • Zielsystemeinstellungen (target configuration) hinzugefügt: 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*);
  • Das Debuggen auf demselben System unter Windows erfordert jetzt Windows XP oder neuere Versionen;
  • Für die Verwendung der Python-API wird jetzt Python 2.6 oder neuer benötigt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4