Veröffentlichung des Debuggers GDB 11

Die Version 11.1 des Debuggers GDB wurde vorgestellt (die erste Ausgabe der Serie 11.x, Branch 11.0 wurde fĂŒr die Entwicklung verwendet). GDB unterstĂŒtzt das Debugging auf Quellcode-Ebene fĂŒr eine Vielzahl von Programmiersprachen (Ada, C, C++, Objective-C, Pascal, Go, Rust usw.) auf verschiedenen Hardware- (i386, amd64, ARM, Power, Sparc, RISC-V usw.) und Softwareplattformen (GNU/Linux, *BSD, Unix, Windows, macOS).

Wesentliche Verbesserungen:

  • Die TUI (Text User Interface) hat UnterstĂŒtzung fĂŒr Mausaktionen und die Möglichkeit zur Bildlauf mit dem Mausrad hinzugefĂŒgt. Es wird eine Weiterleitung von Tastenkombinationen, die in TUI nicht bearbeitet werden, in GDB bereitgestellt.
  • UnterstĂŒtzung fĂŒr den ARMv8.5 MTE (MemTag, Memory Tagging Extension) Mechanismus hinzugefĂŒgt, der es ermöglicht, Tags mit jeder Speicherzuweisung zu verbinden und bei Zugriffen auf den Speicher eine ÜberprĂŒfung des Zeigers durchzufĂŒhren, der mit dem korrekten Tag verknĂŒpft sein sollte. Im Protokoll fĂŒr Remote-Debugging wurde die UnterstĂŒtzung fĂŒr die Pakete „qMemTags“ und „QMemTags“ hinzugefĂŒgt, um Tags an den Speicher zu binden.
  • Die Logik zum Lesen von Konfigurationsdateien wurde geĂ€ndert. Die Datei .gdbinit wird nun in folgender Reihenfolge ĂŒberprĂŒft: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit und $HOME/.gdbinit. Das bedeutet, zuerst im Unterverzeichnis config und dann im Home-Verzeichnis.
  • Bei dem Befehl „break [
] if CONDITION“ wurde die Ausgabe eines Fehlers bei unzulĂ€ssigen Bedingungen an bestimmten Stellen eingestellt, wenn die Bedingung in mindestens einem Fall zulĂ€ssig ist.
  • UnterstĂŒtzung fĂŒr das Debuggen von Core-Dumps hinzugefĂŒgt, die fĂŒr Cygwin-Programme erstellt wurden, die fĂŒr die Architektur x86_64 kompiliert wurden.
  • UnterstĂŒtzung fĂŒr festkommazahlige Typen sowie die Konstanten DW_AT_GNU_numerator und DW_AT_GNU_denominator hinzugefĂŒgt.
  • Die Einstellung „startup-quietly on|off“ hinzugefĂŒgt; wenn „on“, ist es Ă€hnlich wie die Option „-silent“.
  • Im Befehl „ptype“ wurden die Optionen /x und /d implementiert, um hexadezimale oder dezimale Werte bei der Ausgabe von GrĂ¶ĂŸen und Offsets auszuwĂ€hlen. Eine Einstellung „print type hex on|off“ wurde hinzugefĂŒgt, um hexadezimale Werte in der Ausgabe des Befehls ‘ptype’ zu verwenden.
  • Im Befehl „inferior“ wird bei einem Aufruf ohne Argumente das aktuelle Debugging-Objekt (inferior) ausgegeben.
  • Die Ausgabe des Befehls „info source“ wurde ĂŒberarbeitet.
  • Der Befehl „style version foreground | background | intensity“ zur Steuerung des Stils der Versionsnummerierung hinzugefĂŒgt.
  • Neue Optionen fĂŒr die Befehlszeile hinzugefĂŒgt: „—early-init-command“ („-eix“), „—early-init-eval-command“ („-eiex“), „—qualified“ (fĂŒr die Befehle ‘-break-insert’ und ‘-dprintf-insert’), „—force-condition“ (fĂŒr die Befehle ‘-break-insert’ und ‘-dprintf-insert’), „—force“ (fĂŒr den Befehl ‘-break-condition’).
  • Im Team "-file-list-exec-source-files" ist die Angabe von regulĂ€ren AusdrĂŒcken erlaubt, um die verarbeiteten Quelldateien zu filtern. Ein Feld „debug-fully-read“ wurde hinzugefĂŒgt, um ĂŒber den Grad der Ladeinformationen zu informieren.
  • Verbesserungen im Python-API wurden vorgenommen. Neue Methoden gdb.Frame.level() und db.PendingFrame.level() wurden hinzugefĂŒgt, um die Stack-Ebene fĂŒr das Frame-Objekt zurĂŒckzugeben. Bei der Auslösung eines Haltepunkts (catchpoint) im Python-API wird gdb.BreakpointEvent anstelle von gdb.StopEvent ĂŒbermittelt. Es wurden Einstellungen „python ignore-environment on|off“ zum Ignorieren von Umgebungsvariablen und „python dont-write-bytecode auto|on|off“ zum Deaktivieren der Bytecode-Aufzeichnung hinzugefĂŒgt.
  • Verbesserungen im Guile-API wurden vorgenommen. Neue Prozeduren value-reference-value, value-rvalue-reference-value und value-const-value wurden hinzugefĂŒgt.
  • Die GMP-Bibliothek (GNU Multiple Precision Arithmetic) wurde zu den Pflicht-AbhĂ€ngigkeitsversionen hinzugefĂŒgt.
  • Die UnterstĂŒtzung der ARM Symbian-Plattform (arm*-*-symbianelf*) wurde eingestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4