GDB

Screenshot der Software:
GDB
Softwarebeschreibung:
Version: 8.1.1 Aktualisiert
Upload-Datum: 16 Aug 18
Entwickler: Stan Shebs
Lizenz: Frei
Popularität: 286

Rating: 4.0/5 (Total Votes: 3)

GDB (auch bekannt als GNU Project Debugger) ist eine Open-Source- und kostenlose Kommandozeilen-Software, die es Benutzern und Entwicklern gleichermaßen ermöglicht, zu sehen, was in einem anderen Programm vor sich geht ausgeführt oder warum eine Anwendung an einem bestimmten Punkt abstürzt.


Funktionen auf einen Blick

Die wichtigsten Funktionen umfassen vier verschiedene Techniken, um Entwicklern bei der Suche nach Fehlern zu helfen, eine Anwendung zu starten und alles zu spezifizieren, was ihr Verhalten beeinflussen könnte, ein Programm unter bestimmten Bedingungen stoppen, die Protokolle beim Absturz der Anwendung untersuchen, Dinge schrittweise ändern ein Programm, um mit der Korrektur der Auswirkungen eines Problems zu experimentieren und weiter über einen anderen Fehler zu lernen. Es unterstützt auch das Debugging von Programmen, die in einer Vielzahl von Programmiersprachen geschrieben sind, einschließlich C, C ++, Pascal , Ada, Objective-C und viele andere.

Es ist eine Befehlszeilenanwendung

GNU Project Debugger ist immer eine Befehlszeilenanwendung. Um es zu verwenden, müssen Sie das & ldquo; gdb & rdquo; Befehl in einem Terminal-Emulator, führen Sie dann den Befehl "help & rdquo; Befehl (ohne Anführungszeichen) a die gdb-Eingabeaufforderung. Darüber hinaus können Sie auch den Befehl "Alle & rdquo; Befehl, um eine Liste aller Befehle anzuzeigen, geben Sie "help" gefolgt von Befehlsname ein, um die vollständige Dokumentation anzuzeigen, geben Sie "help" gefolgt von einem Klassennamen ein, um eine Liste der Befehle in dieser Klasse anzuzeigen, um "apropos word" einzugeben für Befehle in Bezug auf "Wort".


Liste der Befehlsklassen

Nach Eingabe der "help & rdquo; Befehl wie oben beschrieben, sehen Sie eine Liste von Befehlsklassen, einschließlich Aliasen (zeigt Aliase anderer Befehle an), Haltepunkte (stoppt das Programm an bestimmten Stellen), Daten (zur Überprüfung von Daten), Dateien (zur Überprüfung von Dateien) , Interna (Wartungsbefehle), obskure (obskure Features), running (zum Ausführen des Programms), stack (zum Überprüfen des Stacks), status (für Statusabfragen), support (für Support - Einrichtungen), tracepoints (zum Tracen von Programmabläufen ohne Stoppen des Programms) und benutzerdefinierte (benutzerdefinierte Befehle).

Unterstützte Hardwareplattformen und Betriebssysteme

GDB wurde vom Offset als eine plattformübergreifende Anwendung entwickelt, die auf gängigen Betriebssystemen wie Microsoft Windows und einigen der beliebtesten Linux / UNIX-Varianten läuft. Es wird sowohl auf 32-Bit- als auch auf 64-Bit-Hardwareplattformen unterstützt.

Was ist neu in dieser Version:

  • PR gdb / 22824 (irreführende Beschreibung der neuen Python-Funktion von Rbreak in der GDB 8.1 NEWS-Datei)
  • PR gdb / 22849 (ctrl-c funktioniert nicht in Extended-Remote)
  • PR gdb / 22907 ([Regression] gdbserver funktioniert nicht mit Nur-Dateinamen-Binärdateien)
  • PR gdb / 23028 (inkonsistente Zerlegung von vcvtpd2dq)
  • PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index Regression)
  • PR gdb / 23127 ([AArch64] GDB kann nicht zum Debuggen von Software verwendet werden, die hohe virtuelle Adressen verwendet)
  • PR-Server / 23158 (gdbserver funktioniert nicht mehr unter Windows)
  • PR breakpoints / 23210 ([8.1 / 8.2 Regression] Bogus Breakpoint Adresse angepasst von 0xf7fe7dd3 zu 0xfffffffff7fe7dd3)

Was ist neu in Version 8.1:

  • Breakpoints für C ++ - Funktionen sind jetzt standardmäßig für alle Bereiche gesetzt ("Wild" -Matching);
  • Unterstützung für das Einfügen von Haltepunkten in Funktionen, die mit C ++ - ABI-Tags markiert sind;
  • Ziel-Gleitkomma-Arithmetikemulation während der Ausdruckauswertung (erfordert MPFR 3.1 oder höher);
  • Verschiedene Python Scripting-Erweiterungen;
  • Verbesserte Rostunterstützung; Insbesondere können Objektobjekte beim Debuggen von Rust-Code überprüft werden;
  • GDB trifft keine Annahmen mehr über den Typ von Symbolen, ohne Informationen zu debuggen, um zu vermeiden, dass fehlerhafte und oft verwirrende Ergebnisse entstehen;
  • Die Befehle 'enable' und 'disable' akzeptieren nun eine Reihe von Haltepunkten;
  • Neuer 'starti' Befehl, um das Programm bei der ersten Anweisung zu starten;
  • Neuer "rbreak" -Befehl zum Einfügen einer Anzahl von Haltepunkten über ein reguläres Ausdrucksmuster (erfordert Python);
  • Der Befehl 'ptype' unterstützt jetzt das Drucken des Offsets und der Größe der Felder in einer Struktur;
  • Der Befehl 'gcore' unterstützt jetzt das Dumping aller Speicherzuordnungen (Befehlszeilenoption '-a');
  • Neue Shortcuts für den TUI-Single-Key-Modus: 'i' für Stepi und 'o' für nexti;
  • GDBserver-Erweiterungen:
  • Unterstützung für die Übertragung von Umgebungsvariablen an GDBserver;
  • Unterstützung für das Starten minderwertiger Prozesse mit einem angegebenen ersten Arbeitsverzeichnis;
  • Unter Unix-Systemen Unterstützung für Globbing-Erweiterung und Variablensubstitution von minderwertigen Befehlszeilenargumenten;
  • Verschiedene Vervollständigungsverbesserungen;
  • Der Befehl zum Kompilieren und Eingeben von Code mit dem Befehl 'compile' ist jetzt konfigurierbar;
  • Neue'readnever'-Befehlszeilenoption, um den GDB-Start zu beschleunigen, wenn Debuginformationen nicht benötigt werden;
  • Unterstützung für die folgenden neuen nativen Konfigurationen:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • Unterstützung für die folgenden neuen Ziele:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (arm * - * - freebsd *);
  • OpenRISC ELF (or1k * - * - elf)
  • Die Unterstützung für die folgenden Ziele und systemeigenen Konfigurationen wurde entfernt:
  • Solaris2 / x86 (ich? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Was ist neu in der Version:

  • Zum Erstellen dieser Version von GDB sind jetzt die folgenden Tools erforderlich:
  • Ein C ++ - 11-Compiler (zum Beispiel GCC 4.8 oder später);
  • GNU erstellt Version 3.81 oder später.
  • Zu den Änderungen in dieser Version gehören:
  • C ++: Unterstützung für rvalue-Referenzen
  • Python-Skripterweiterungen:
  • Neue Funktionen zum Starten, Stoppen und Zugreifen auf eine laufende btrace-Aufzeichnung.
  • Rvalue-Referenzunterstützung in gdb.Type.
  • GDB-Befehlsinterpreter:
  • Benutzerbefehle akzeptieren jetzt eine unbegrenzte Anzahl von Argumenten.
  • Das & quot; eval & quot; Befehl erweitert jetzt benutzerdefinierte Argumente.
  • Unterstützung für DWARF Version 5
  • (Beachten Sie, dass der Index .debug_names noch nicht unterstützt wird).
  • GDB / MI-Erweiterungen:
  • Befehl new -file-list-shared-libraries zum Auflisten der gemeinsam genutzten Bibliotheken im Programm.
  • Neuer Befehl -target-flash-erase, um den Flash-Speicher zu löschen.
  • Unterstützung für native FreeBSD / mips (mips * - * - freebsd)
  • Unterstützung für die folgenden Ziele:
  • Synopsys ARC (arc * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Verschiedene Verbesserungen:
  • Die Befehlszeilenumleitung wird jetzt auf MS-Windows-Hosts unterstützt.
  • Unterstützung für Thread-Namen unter MS-Windows.
  • Unterstützung für das PKU-Register unter GNU / Linux.
  • Unterstützung für Zielbeschreibungen auf sparc32 und sparc64.
  • Neuer GDB / CLI-Befehl zum Löschen des Flash-Speichers
  • rdrand und rdseed Anweisungen Aufnahme / Wiedergabe Unterstützung.
  • Die Unterstützung für die folgenden Funktionen wurde entfernt:
  • Unterstützung für Java-Programme, die mit gcj
  • kompiliert wurden
  • Unterstützung für die folgenden Konfigurationen:
  • FreeBSD / alpha (alpha * - * - freebsd *)
  • GNU / kFreeBSD / alpha (alpha * - * - kfreebsd * -gnu)

Was ist neu in Version 7.9.1:

  • PR-Build / 18033 (C ++ - Stilkommentar in gdb / iq2000-tdep.c und gdb / compile / compile - *. c)
  • PR build / 18298 ("compile" -Befehl kann Compiler nicht finden, wenn Werkzeuge mit Triple anstelle von Quadruplet konfiguriert sind)
  • PR tui / 18311 (Zufälliges SEGV beim Anzeigen von Registern im TUI-Modus)
  • PR python / 18299 (Ausnahme bei der Registrierung eines globalen Pretty-Druckers im ausführlichen Modus)
  • PR python / 18066 (Argument "Wort" scheint in Command.complete (Text, Wort) gebrochen zu sein)
  • PR pascal / 17815 (Pascal-Verhalten für Klassenfelder mit Testfall beheben)
  • PR python / 18285 (ptype expr-with-xmethod verursacht SEGV)

Was ist neu in Version 7.9:

  • Python-Skripterweiterungen.
  • Quellcode-Kompilierung und Injektion in das inferior.
  • Neue Befehle, Optionen, Komfortvariablen / Optionen.
  • MIPS SDE-Unterstützung (mips * -sde * -elf *).
  • Bessere Behandlung von Signalen beim Debuggen von Threaded-Programmen.

Was ist neu in Version 7.8.2:

  • PR symtab / 17642 ([7.8 Regression] intern -error: resolve_dynamic_struct: Assertion `TYPE_NFIELDS (type) & gt; 0 'ist fehlgeschlagen.)
  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab läuft in O (n ^ 2) -Komplexität)
  • PR gdb / 16215 (SPARC: kann CFA für diesen Frame nicht berechnen)
  • PR gdb / 17525 (target-async: Haltepunktbefehle werden nicht ausgeführt, wenn das Programm von -x-Skript ausgeführt wird)
  • PR cli / 17828 ([7.8 Regression] -batch -ex r bricht terminal)

Was ist neu in Version 7.8.1:

  • PR python / 17364 (Benötigt bessere Druckernamen in bound_registers.py)
  • PR build / 17104 (CFLAGS = "-Wall -Wextra" gdb / confgure --with-babeltrace schlägt fehl)
  • PR gdb / 17345 (babeltrace (1.1.2 und später) beschwert sich über die von GDB generierten ctf-Daten)
  • PR build / 17298 (gcore: Konnte keine Register bekommen: Kein solcher Prozess)
  • PR python / 17342 (Xmethod Python ist nicht kompatibel zu Python 3)
  • PR python / 17355 (Crash auf Python-Rahmen filtert mit unlesbarem arg)
  • PR guile / 17367 (Berechnung des Gildenpfads falsch, wenn das Skript pkg-config als Argument an --with-guile übergeben wird)
  • PR gdb / 17247 (gdb friert bei Multi-Thread-App ein)
  • PR gdb / 17347 (Regression: GDB gestoppt beim Lauf mit angehängtem Prozess)
  • PR gdb / 17407 (Regression für das Lesen von Linux vDSO)
  • PR-Server / 17457 (aarch64 / gdbserver: falsche Gleitkommaregisteranzeige)
  • PR-Server / 17487 (state- & gt; dr_control_mirror == 0 fehlgeschlagene Assertion in gdbserver unter Windows)
  • PR gdb / 17472 (mit Anmerkungen, Eingabe während der Ausführung im Vordergrund crasht readline / gdb)
  • PR gdb / 17471 (durch Wiederholung eines Hintergrundbefehls wird der Vordergrund hervorgehoben)
  • PR cli / 17300 (Absturz im Non-Stop-Modus mit Continue -a & (readline_callback_read_char () ohne Handler aufgerufen!))
  • PR python / 17372 (Python hängt beim Anzeigen von help ())
  • PR python / 17408 (../../gdb/infrun.c:5256: interner Fehler: switch_back_to_stepped_thread: Assertion `! schedlock_applies (1) 'fehlgeschlagen.)

Was ist neu in Version 7.8:

  • Guile-Skriptunterstützung.
  • Python-Skripterweiterungen.
  • Neue Befehle, Optionen, Komfortvariablen / Optionen.
  • Verbesserungen am Remote-Protokoll und am GDBserver.
  • Neue Zielkonfigurationen (PowerPC64 GNU / Linux little-endian).
  • btrace-Erweiterungen.
  • ISO C99 automatische Array-Unterstützung mit variabler Länge.
  • Die & quot; Vergleichsabschnitte & quot; Befehl funktioniert jetzt auf allen Zielen.
  • Der & quot; Zielnative & quot; Befehl verbindet sich jetzt mit dem nativen Ziel.

Was ist neu in Version 7.7:

  • Erweiterte Python-Skriptunterstützung.
  • Einige C ++ Verbesserungen.
  • Neue Befehle, Optionen, Komfortvariablen / Optionen.
  • Mehrere GDB / MI neue Befehle und Erweiterungen.
  • Verbesserungen am Remote-Protokoll und am GDBserver.
  • Neue Zielkonfigurationen (Nios II, TI MSP430).
  • GDB Windows x64 Unwinding Datenunterstützung.
  • SystemTap SDT-Probes unterstützen auf AArch64 GNU / Linux.
  • CTF-Unterstützung (Common Trace Format).
  • Neue Skripte gcore und gdb-add-index.sh.
  • Verbesserte Arm * -linux Aufnahme / Wiedergabe-Unterstützung.
  • Die Unterstützung für veraltete NetBSD- und OpenBSD-Konfigurationen wurde entfernt. ELF-Varianten dieser Konfigurationen werden unterstützt.
  • Die & rdquo; set | show remotebaud & quot; Befehle werden zugunsten von "show | show serial baud" veraltet.

Was ist neu in Version 7.6.2:

  • PR-Haltepunkt / 16251 (AArch64-Hardware-Haltepunktfehler nach Gabel)
  • PR gdb / 16303 (GDB 7.6.1 funktioniert nicht mit binutils 2.24 auf MIPS16 und microMIPS)

Was ist neu in Version 7.6.1:

  • PR tdep / 15420 (Thread-Programme in neueren Versionen von x86-solaris können nicht debuggt werden - Solaris 10, Update 10 oder höher)
  • PR remote / 15455 (QTro-Remote-Paket kaputt)
  • PR build / 15476 (Fehler beim Erstellen aufgrund eines unvollständigen Aufzählungstyps in utils.h)
  • PR Server / 15594 (tls Unterstützung in 64x32 x86 gdbserver erweitert die Adresse nicht auf 64 Bit)
  • PR-Server / 15075 (dprintf interferiert mit & quot; next & quot;)
  • PR-Server / 15434 (dprintf verwendet eine synchrone 'Fortsetzung', auch im Non-Stop-Modus)
  • PR tui / 14880 (in Split-Register-Layouts führt up zum Assertionsfehler in value.c)
  • PR c ++ / 15519 (GDB 7.6 ist 94x langsamer als GDB 7.5.1 mit einer bestimmten Core-Datei)
  • PR gdb / 15837 (GDB gibt Eingabewerte für lokale Variablen aus)
  • PR gdb / 15415 (gdb löst symbolische Links bei der Übergabe von argv [0])
  • auf
  • PR cli / 15603 (CTRL-C kann nicht mehr unterlegen)
  • PR gdb / 15604 (gdbserver socket leak 7.5 Regression)

Was ist neu in Version 7.5:

  • Sprachunterstützung.
  • Neue Ziele (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • Weitere Python-Skriptverbesserungen.
  • SDT-Sonden (Static Defined Tracing) werden mit SystemTap-Sonden unterstützt.
  • GDBserver-Verbesserungen (stdio-Verbindungen, zielseitige Auswertung von Breakpoint-Bedingungen, Remote-Protokoll-Verbesserungen).
  • Andere verschiedene Verbesserungen (Möglichkeit zu stoppen, wenn eine gemeinsame Bibliothek geladen / entladen wird, dynamisches printf, usw.).
  • Umgekehrtes Debugging auf ARM.
  • Die binäre & quot; gdbtui & quot; wurde aufgegeben und kann nicht mehr gebaut werden. Verwenden Sie & quot; gdb -tui & quot; stattdessen.

Was ist neu in Version 7.4:

  • Mehrdeutige Liniensätze werden jetzt konsistenter gehandhabt.
  • Uninteressante Funktionen und Dateien können jetzt übersprungen werden, wenn mit der Funktion & quot; überspringen & quot; und & quot; Datei überspringen & quot; Befehle.
  • Befehle zum Setzen und Abrufen des maximalen Längenlimits eines Remote-Ziel-Hardware-Watchpoints wurden hinzugefügt.
  • Python-Scripting wurde erheblich verbessert.
  • Viele andere Verbesserungen, Bugfixes und allgemeine Änderungen wurden vorgenommen.

Was ist neu in Version 7.1:

  • Unterstützung für neue Ziele (einschließlich eines Simulators):
  • Xilinx MicroBlaze
  • Renesas RX
  • Die wichtigsten neuen Funktionen sind:
  • Debuggen mehrerer Programme, sodass der Debugger mehr als
  • steuern kann
  • ein Programm innerhalb derselben GDB-Sitzung.
  • Debugging für positionsunabhängige ausführbare Dateien (PIE).
  • Es enthält auch viele Verbesserungen und Fehlerbehebungen, einschließlich:
  • Python-Unterstützung wurde erweitert.
  • Verbesserte C ++ - Unterstützung (Namespace, Cast-Operatoren, Fehlerbehebungen)
  • Verbesserungen der Tracepoint-Unterstützung.
  • Verbesserung der Prozessaufzeichnung (Ausführungsprotokoll speichern / wiederherstellen, Hardware
  • Watchpoint-Unterstützung).
  • Verbesserungen des Remote-Protokolls (Linux-Kernel-Debugging, neue Pakete
  • für Tracepoint-Unterstützung)

Ähnliche Software

Accerciser
Accerciser

31 Oct 16

rpdb
rpdb

14 Apr 15

strace
strace

23 Nov 17

Frosted
Frosted

17 Feb 15

Andere Software von Entwickler Stan Shebs

Xconq
Xconq

2 Jun 15

Kommentare zu GDB

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!