Dieses Dokument bietet einige (leider wenige) Hinweise zur Benutzung von KDbg.
Für die experimentierfreudigen Benutzer gibt's ein bisschen Dokumentation, wie KDbg Typen versteht, etwa QString. (Leider nur in englischer Sprache, aber das sollte kein Problem darstellen.)
Links oben wird der Quellcode angezeigt. Meistens werden Quellcode-Dateien automatisch geöffnet. Mit Datei|Quellcode öffnen können Sie Dateien manuell öffnen. Alle offenen Dateien werden im Menu Fenster angezeigt, mit dem Sie auch gleich zwischen den offenen Dateien hin- und herschalten können.
Links unten wird der Backtrace (Call Stack, Stack Frames), d.h. die Funktionnen, die das Programm im Augenblick betreten und noch nicht verlassen hat, angezeigt. Das innerste Frame (in dem sich das Programm gerade befindet) befindet sich an erster Stelle. Klicken Sie auf ein Frame, um die lokalen Variablen in diesem Frame anzuzeigen.
Rechts oben werden die lokalen Variablen angezeigt. Sobald das Programm angehalten wird (z.B. durch einen Breakpoint), wird diese Anzeige aktualisiert.
Rechts unten zeigt beliebige Ausdrücke an (diese bezeichnet man auch als Watches). Ein neuer Ausdruck wird hinzugefügt, indem dieser im Eingabefeld eingegeben wird und dann auf Neu geklickt wird. Um einen Ausdruck zu entfernen, klicken Sie diesen an (an der Wurzel des entsprechenden Baums) und klicken dann auf Entf.
Das Zahnrad in der Werkzeugleiste zeigt an, ob gdb gerade arbeitet: Dies ist der Fall, wenn es rotiert. Solange es schnell rotiert, nimmt KDbg kein Eingaben an; wenn es langsam rotiert, aktualisiert KDbg gerade alle Variablenanzeigen.
Mit dem Menupunkt Ausführung|Argumente können Sie auch Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen setzen.. Siehe unten.
Im Menu Ausführung finden Sie Befehle, die Sie zum Ausführen
und schrittweisen Abarbeiten des Programms verwenden. Weiters können
Sie das laufende Programm unterbrechen. Die wichtigen Befehle können
auch mit Funktionstasten gegeben werden. Zum effizienten Arbeiten empfehle
ich, dass Sie sich diese Tasten eingewöhnen.
Diese Funktionen sind nicht konfigurierbar, aber vielleicht
wollen Sie ein Stückchen Code beisteuern, mit dem das geht?
Im Menu Haltepunkt finden Sie Befehle zum Setzen, Entfernen, Aktivieren und Inaktivieren von permanenten und temporären Haltepunkten. Sie können einen Haltepunkt auch setzen, indem Sie mit der Maus in den Freiraum links der entsprechenden Quellcode-Zeile klicken (mit der linken Maustaste); weiters können sie einen vorhandenen Haltepunkt mit der mittleren Maustaste aktivieren und deaktivieren.
Sie können eine Bedingung (sodass das Programm nur stehen bleibt, wenn die Bedingung erfüllt ist) oder die Anzahl der zu ignorierenden Stopps (sodass das Programm die nächsten n Male nicht stehen bleibt, die es über diesen Haltepunkt läuft) setzen. Dazu wählen sie den Schalter Bedingt und geben die Anzahl der zu ignorierenden Treffer und/oder die Bedingung ein.
In der obersten Eingabezeile können Sie die Programmargumente eingeben, die an das Programm übergeben werden sollen. Diese werden beim nächsten Programmstart verwendet.
Im Eingabefeld darunter können Sie das Arbeitsverzeichnis angeben. Dieses wird sofort an gdb übergeben, sobald Sie OK drücken. Das Programm verwendet das neue Arbeitsverzeichnis allerdings erst beim nächsten Start.
Im Bereich für Umgebungsvariablen können Sie einen Ausdruck in der Form VARIABLE=Wert eingeben und dann Ändern klicken, um der Umgebungsvariablen VARIABLE einen Wert zuzuweisen. Um eine Variable zu entfernen, wählen Sie diese zuerst aus der Liste darunter aus und klicken dan Löschen. Um einen Wert zu ändern, geben Sie einfach den neuen Wert ein und klicken Ändern. Wenn Sie den Namen der Variable ändern und Ändern clicken, erzeugen Sie eine neue Variable! Die neuen Umgebungsvariablen werden erst beim nächsten Programmstart verwendet.
Wenn Sie glibc2 unter Linux verwenden, ist es sehr wichtig, dass Sie der Umgebungsvariablen LD_BIND_NOW den Wert 1 zuweisen. Wenn diese Variable nicht gesetzt ist, können solche Funktionen nicht betreten werden, die von der Bibliothek libc und anderen Shared Libraries importiert werden.
Falls Sie ein anderes Terminal-Programm verwenden wollen, das die Ausgabe des Programms anzeigt, geben Sie dieses unter Terminal für die Programmausgabe an. Die Standardeinstellung ist xterm -name kdbgio -title %T -e sh -c %C. In diesem Eintrag wird %T durch eine Überschrift und %C durch ein Bourne-Shell-Skript ersetzt, das in eine Endlosschleife landet, damit sich das Fenster nicht schließt. (Keine Sorge, das Skript frisst keine CPU-Zeit, sondern ruft einfach nur sleep 3600 in einer Schleife auf :) Eine alternative für diesen Eintrag wäre zm Beispiel konsole -nowelcome -name kdbgio -caption %T -e sh -c %C.
Die Typerkennung von KDbg arbeitet nur, wenn die Bibilotheken dynamisch ins Programm gebunden sind.