Debugging-Release GDB 18

Die Veröffentlichung des Debuggers GDB 18.1 (die erste Ausgabe der Serie 18.x, wĂ€hrend der Entwicklung wurde der Branch 18.0 verwendet) wurde vorgestellt. GDB unterstĂŒtzt das Debugging auf Quelltextebene fĂŒr eine Vielzahl von Programmiersprachen (C, C++, D, Go, Objective-C, Fortran, OpenCL C, Pascal, Rust, Assembler, Modula-2 und Ada) auf unterschiedlichen Hardwareplattformen (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch usw.) und Softwareplattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Die auffÀlligsten Verbesserungen:

  • UnterstĂŒtzung der Plattformen GNU/Linux/MicroBlaze (microblazeel-*linux*) und AArch64 MinGW (aarch64-*-mingw*) wurde hinzugefĂŒgt. Die 32-Bit-Architektur s390 (s390-*) wurde als veraltet erklĂ€rt und ist zur Entfernung vorgesehen.
  • FĂŒr die Windows-Plattform wurde die UnterstĂŒtzung des „Non-Stop“-Modus (fĂŒr Windows 10 und neuer), die Sperrung desSchedulers durch den Befehl „set scheduler-locking on“ und die nativen TLS-Variablen (Thread Local Storage) implementiert. Bei der AusfĂŒhrung im Windows Terminal wird die UnterstĂŒtzung von 24-Bit-Farben, Emojis und der UTF-8-Codierung gewĂ€hrleistet. In CLI-, TUI-, MI- und DAP-Schnittstellen wurde die Normalisierung der Verwendung von SchrĂ€gstrichen in Dateipfaden aktiviert (es wird immer C:/proj/src/main.c anstelle von C:/proj/src\main.c verwendet).
  • Um Probleme bei der Typensuche zu lösen, werden jetzt alle Debugging-Symbole von Typen in den Index .gdb_index aufgenommen.
  • Im Befehl „info locals“ wurde die Anzeige der Annotation „shadowed“ fĂŒr externe Variablen implementiert, die von internen Variablen mit demselben Namen ĂŒberschrieben werden. Zur Steuerung der Ausgabe wurde die Einstellung „set print shadowed on|off“ hinzugefĂŒgt.
  • In den Befehlen „set args“, „run“, „start“ und „starti“ wurde die Möglichkeit hinzugefĂŒgt, Argumente zu ĂŒbergeben, die Zeilenumbruchzeichen enthalten, die in AnfĂŒhrungszeichen gesetzt sind.
  • In GDB und gdbserver wurde das Flag „--no-escape-args“ hinzugefĂŒgt, um das Escaping von Sonderzeichen in den Argumenten zu deaktivieren.
  • FĂŒr die Architektur AArch64 wurde die UnterstĂŒtzung des Registers FPMR (Floating Point Mode Register) implementiert.
  • Erste UnterstĂŒtzung fĂŒr das Laden von Core-Dateien, die auf Systemen mit Intel AMX-UnterstĂŒtzung erstellt wurden, wurde hinzugefĂŒgt.
  • UnterstĂŒtzung fĂŒr Trace-Events, die von der Bibliothek libipt 2.2 verarbeitet werden, wurde hinzugefĂŒgt.
  • Beim Debugging ĂŒber den seriellen Port wurde die Möglichkeit hinzugefĂŒgt, nicht standardmĂ€ĂŸige Übertragungsraten anzugeben.
  • In den Befehl help wurde der Modus „essential“ integriert, der einen Überblick ĂŒber das minimale Set an Befehlen bietet, die ein neuer GDB-Benutzer benötigen könnte.
  • Es wurden folgende Befehle hinzugefĂŒgt:
    • set/show/ unset local-environment — das Pendant zu „set/show/ unset environment“, das die Umgebung von Unterprozessen beeinflusst, die von GDB selbst gestartet werden (z. B. ĂŒber shell oder pipe).
    • save history, save skip, save user — speichert den Befehlshistorie, die skip-Operationen und benutzerdefinierte Befehle in einer Datei.
    • info proc environ — zeigt die Umgebungsvariablen des Prozesses an.
    • set/show progress-bars enabled — Steuerung der Anzeige von Fortschrittsbalken.
    • delete skip, enable skip, disable skip — Aliase fĂŒr die Befehle skip delete/enable/disable.
    • set/show debug gnu-ifunc und set/show debug ctf.
  • Die UnterstĂŒtzung der ersten Version des DWP-Formats (DWARF Package File), der Debugging-Informationen von stabs und mdebug wurde entfernt. Die Möglichkeit, das Trace-Ergebnis im CTF-Format (Common Trace Format) zu speichern, wurde eingestellt.
  • In der nĂ€chsten Version ist eine Trennung der Windows ABI Modi GNU (fĂŒr mit MinGW generierten Code) und MSVC (fĂŒr von MSVC- und Clang-Compilern kompilierten Code) geplant. Zur Auswahl der Windows ABI mĂŒssen in dem Befehl „set osabi“ die Werte „Windows-GNU“ und „Windows-MSVC“ angegeben werden. Der derzeit verwendete Wert Windows wĂ€hlt automatisch den erforderlichen Modus basierend auf dem Argument „—target“ (—target=x86_64-pc-windows-msvc oder —target=x86_64-w64-mingw32).

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster