[Logo der Universität Bayreuth]
Universität Bayreuth

Mathematisches
Institut



 Einleitung

 Erste Schritte

 Mail und News

 Drucken

 KDE

 LaTeX/TeX

 Linksammlung

 Linuxtools

 Netzwerk

 Programmieren

 Windows

 X Window

 Anträge

 Kontakt

Fehlersuche mit dem GNU Visual Debugger (GVD) <-




          <-  Start des GVD

<-  Beschreibung des GVD-Fensters

<-  Laden einer Core-Datei

<-  Start eines Programms im GVD

<-  Ausgabe vom Programmcode

<-  Haltepunkt (Breakpoint)

<-  schrittweiser Ablauf des Executables

<-  Verfolgung der Aufrufkette

<-  Untersuchung von Variablen

<-  dynamische Veränderung des Wertes einer Variablen

<-  Beenden des GVD







Start des GVD

Der Befehl zum Start des GVD ist "gvd", gefolgt vom Namen der ausführbaren Datei. Da der GVD unter Windows läuft, kann man ihn auch beispielsweise mit dem MinGW zusammen einsetzen, unter Linux funktioniert er ganz normal mit dem GCC. Den Namen des Executables muss man anpassen ("a.exe" unter Linux und z.B. "a.exe" mit dem MinGW unter Windows).
Da mit dem DDD ein noch mächtigerer Debugger unter Linux zur Verfügung steht, orientiert sich die Beschreibung an Windows als Betriebssystem und verwendet den Namen "a.exe" für das Executable.
Beispielsweise:
 $ gvd a.exe 
Der Start des Debuggers funktioniert aber nicht, wenn Sie nach dem Befehl gvd den Namen der Quelldatei (zum Beispiel: "aufgabe.cpp") eingeben. Dieses Format lässt sich nicht von dem Debugger interpretieren.

Anstatt in einer DOS-Box den Befehl "gvd a.exe" einzugeben, kann man auch über das GVD-Icon oder über Start --> Programme --> GNU Visual Debugger den GVD starten und dann über das Menü "File" --> "Open Program..." und Auswahl des Executables "a.exe" im Fileauswahldialog den Debugger starten:

Start des GVD über File-Menü     Auswahl des Executables im Fileauswahldialog

top top

Wichtig:   Es ist auch sehr wichtig, dass Sie Ihr Programm (im Beispiel das C++-Programm "bsp1.cpp") mit der Option -g compilieren, weil diese Option beim GCC im Quelltext Debug-Informationen hinzufügt. Außerdem dürfen die Optionen -s und -S (sog. Stripping von Symbolinformationen) für den Linker nicht verwendet werden (ist sowieso der Standard bei GCC), weil diese Symbolinformationen vom Executable entfernen.






Nachdem Sie:
      $ g++ -g bsp1.cpp
      $ gvd a.exe
           
eingegeben haben, erhalten Sie am Bildschirm das Fenster:
 korrekter Start des GVD
Bild 1




Wenn Sie den GVD aufrufen, ohne das Programm mit der Option -g compiliert zu haben, erhalten Sie ein GVD-Fenster ohne Programmquelltext. Wie beim gdb kann man damit nichts anfangen.
Beachten Sie den Hinweis "(no debugging symbols found)" im Logfenster.
    $ g++ bsp1.cpp
    $ gvd a.exe
                
 Start des GVD mit Executable ohne Debuginformationen
Bild 2


top top



Wenn Sie GVD mit dem Dateinamen des Sourcecodes anstelle des Executables aufrufen, erhalten Sie:
      $ g++ -g bsp1.cpp
      $ gvd bsp1.cpp
           
Es wird kein Quelltext im GVD geladen, weil das Format des Sourcecodes ungültig ist. Es erfolgt jedoch kein Warnhinweis oder eine Fehlermeldung.
          Start des GVD mit Sourcecode-Angabe
Bild 3



top top

Robert Baier ([e-mail-Adresse von Robert Baier])
© 2003 Robert Baier;
© 1999-2002 Robert Baier, Sascha Herrmann
Debugger-Seiten: © 2003 Robert Baier, Ekue-sse Situ Tomety
[Seitenzähler] Last modified: 22.07.2015