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)
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)
|
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):
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.
|