[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







Beschreibung des GVD-Fensters


Wie Sie im Bild 1 merken können, ist das Fenster des GVDs in 6 Teilbereiche aufteilbar:
  • eine Menüleiste
    (ganz oben im GVD-Fenster mit den Menüs "File", "Edit", ..., "Help")
  • eine Werkzeugleiste
    (unterhalb der Menüleiste im GVD-Fenster mit den Icons "run", "Start", ..., "Interr.")
  • ein Quelltextfenster (im Beispiel mit dem File "bsp1.cpp"
  • )
  • eine Debugger-Konsole von gdb, die (nur unter Linux) zugleich Programmein- und ausgabefenster ist
    Ansonsten kann man dort die gdb-Kommandos sehen, die man z.B. durch Drücken der Icons in der Werkzeugleiste verursacht oder selbst gdb-Kommandos eingeben.
    Im Beispiel erscheint hier "Reading symbols form a.exe...done." und der gvd-Prompt "(gdb) ".
  • eine Dateienübersicht (links vom Quelltextfenster, im Beispiel mit den Ordnern "No extension files", "h files" und "tcc files")
  • eine Statusleiste
    (ganz unten im GVD-Fenster, im Bild 1 ist keine Meldung aufgeführt)

Das kompakte GVD-Fenster
Bild 1

Ggf. können auch noch weitere Teilfenster erscheinen (z.B. beim Beobachten von Threads oder Tasks).
Unter Windows erscheint bei Erstellung eines Console-Executables (Standard unter Windows mit MinGW) stets auch eine DOS-Box für die Programmein- und ausgabe (unter Linux geht kein eigenes Fenster auf, Programmein- und ausgaben sieht man in der Debugger-Console):

Fenster nach Start des Executables

Achtung:
Ist das Ende in einem Console-Executable erreicht, verschwindet das Programmfenster unter Windows automatisch (ohne Vorwarnung). Da man dann keine Programmausgaben mehr sieht, sollte man stets am Ende des main()-Funktion eine Dummyvariable einlesen.
Beispiel aus dem File "bsp1_dummy.cpp":

    int dummy;
    cout << "Programmfenster beenden (Eingabe z.B. von 1): ";
    cin >> dummy;
    

Sie können mit dem Menü Edit --> Preferences den GVD an Ihre persönliche Vorlieben anpassen. Die Grundeinstellung genügt jedoch meistens.
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