From ae6f04289851574f38aedbd4666f7154cc67cad3 Mon Sep 17 00:00:00 2001 From: Ray-V Date: Sun, 13 Jun 2021 21:47:32 +0100 Subject: Remove CMakeLists.txt for doc Move doc directory up a level from kdbg/doc Add macro call to source root CMakeLists.txt Remove tde_conditional_add_subdirectory() macro call for doc Signed-off-by: Ray-V --- CMakeLists.txt | 5 ++ doc/de/argspwdenv.html | 50 +++++++++++ doc/de/breakptlist.html | 82 ++++++++++++++++++ doc/de/globaloptions.html | 72 ++++++++++++++++ doc/de/howdoi.html | 83 ++++++++++++++++++ doc/de/index.html | 190 +++++++++++++++++++++++++++++++++++++++++ doc/de/localvars.html | 25 ++++++ doc/de/memory.html | 29 +++++++ doc/de/pgmoutput.html | 52 +++++++++++ doc/de/pgmsettings.html | 83 ++++++++++++++++++ doc/de/registers.html | 37 ++++++++ doc/de/sourcecode.html | 30 +++++++ doc/de/stack.html | 25 ++++++ doc/de/threads.html | 44 ++++++++++ doc/de/tips.html | 45 ++++++++++ doc/de/watches.html | 27 ++++++ doc/en/argspwdenv.html | 42 +++++++++ doc/en/breakptlist.html | 93 ++++++++++++++++++++ doc/en/globaloptions.html | 78 +++++++++++++++++ doc/en/howdoi.html | 76 +++++++++++++++++ doc/en/index.html | 185 +++++++++++++++++++++++++++++++++++++++ doc/en/invocation.html | 34 ++++++++ doc/en/localvars.html | 28 ++++++ doc/en/memory.html | 26 ++++++ doc/en/pgmoutput.html | 46 ++++++++++ doc/en/pgmsettings.html | 81 ++++++++++++++++++ doc/en/registers.html | 35 ++++++++ doc/en/sourcecode.html | 28 ++++++ doc/en/stack.html | 23 +++++ doc/en/threads.html | 42 +++++++++ doc/en/tips.html | 47 ++++++++++ doc/en/types.html | 183 +++++++++++++++++++++++++++++++++++++++ doc/en/watches.html | 28 ++++++ doc/en/xslt.html | 24 ++++++ doc/man/kdbg.1 | 92 ++++++++++++++++++++ doc/ru/argspwdenv.html | 43 ++++++++++ doc/ru/breakptlist.html | 68 +++++++++++++++ doc/ru/globaloptions.html | 72 ++++++++++++++++ doc/ru/howdoi.html | 78 +++++++++++++++++ doc/ru/index.html | 177 ++++++++++++++++++++++++++++++++++++++ doc/ru/localvars.html | 19 +++++ doc/ru/memory.html | 26 ++++++ doc/ru/pgmoutput.html | 43 ++++++++++ doc/ru/pgmsettings.html | 73 ++++++++++++++++ doc/ru/registers.html | 31 +++++++ doc/ru/sourcecode.html | 31 +++++++ doc/ru/stack.html | 23 +++++ doc/ru/threads.html | 38 +++++++++ doc/ru/tips.html | 43 ++++++++++ doc/ru/types.html | 126 +++++++++++++++++++++++++++ doc/ru/watches.html | 20 +++++ kdbg/CMakeLists.txt | 1 - kdbg/doc/CMakeLists.txt | 1 - kdbg/doc/de/CMakeLists.txt | 8 -- kdbg/doc/de/argspwdenv.html | 50 ----------- kdbg/doc/de/breakptlist.html | 82 ------------------ kdbg/doc/de/globaloptions.html | 72 ---------------- kdbg/doc/de/howdoi.html | 83 ------------------ kdbg/doc/de/index.html | 190 ----------------------------------------- kdbg/doc/de/localvars.html | 25 ------ kdbg/doc/de/memory.html | 29 ------- kdbg/doc/de/pgmoutput.html | 52 ----------- kdbg/doc/de/pgmsettings.html | 83 ------------------ kdbg/doc/de/registers.html | 37 -------- kdbg/doc/de/sourcecode.html | 30 ------- kdbg/doc/de/stack.html | 25 ------ kdbg/doc/de/threads.html | 44 ---------- kdbg/doc/de/tips.html | 45 ---------- kdbg/doc/de/watches.html | 27 ------ kdbg/doc/en/CMakeLists.txt | 8 -- kdbg/doc/en/argspwdenv.html | 42 --------- kdbg/doc/en/breakptlist.html | 93 -------------------- kdbg/doc/en/globaloptions.html | 78 ----------------- kdbg/doc/en/howdoi.html | 76 ----------------- kdbg/doc/en/index.html | 185 --------------------------------------- kdbg/doc/en/invocation.html | 34 -------- kdbg/doc/en/localvars.html | 28 ------ kdbg/doc/en/memory.html | 26 ------ kdbg/doc/en/pgmoutput.html | 46 ---------- kdbg/doc/en/pgmsettings.html | 81 ------------------ kdbg/doc/en/registers.html | 35 -------- kdbg/doc/en/sourcecode.html | 28 ------ kdbg/doc/en/stack.html | 23 ----- kdbg/doc/en/threads.html | 42 --------- kdbg/doc/en/tips.html | 47 ---------- kdbg/doc/en/types.html | 183 --------------------------------------- kdbg/doc/en/watches.html | 28 ------ kdbg/doc/en/xslt.html | 24 ------ kdbg/doc/man/kdbg.1 | 92 -------------------- kdbg/doc/ru/CMakeLists.txt | 8 -- kdbg/doc/ru/argspwdenv.html | 43 ---------- kdbg/doc/ru/breakptlist.html | 68 --------------- kdbg/doc/ru/globaloptions.html | 72 ---------------- kdbg/doc/ru/howdoi.html | 78 ----------------- kdbg/doc/ru/index.html | 177 -------------------------------------- kdbg/doc/ru/localvars.html | 19 ----- kdbg/doc/ru/memory.html | 26 ------ kdbg/doc/ru/pgmoutput.html | 43 ---------- kdbg/doc/ru/pgmsettings.html | 73 ---------------- kdbg/doc/ru/registers.html | 31 ------- kdbg/doc/ru/sourcecode.html | 31 ------- kdbg/doc/ru/stack.html | 23 ----- kdbg/doc/ru/threads.html | 38 --------- kdbg/doc/ru/tips.html | 43 ---------- kdbg/doc/ru/types.html | 126 --------------------------- kdbg/doc/ru/watches.html | 20 ----- 106 files changed, 2981 insertions(+), 3002 deletions(-) create mode 100644 doc/de/argspwdenv.html create mode 100644 doc/de/breakptlist.html create mode 100644 doc/de/globaloptions.html create mode 100644 doc/de/howdoi.html create mode 100644 doc/de/index.html create mode 100644 doc/de/localvars.html create mode 100644 doc/de/memory.html create mode 100644 doc/de/pgmoutput.html create mode 100644 doc/de/pgmsettings.html create mode 100644 doc/de/registers.html create mode 100644 doc/de/sourcecode.html create mode 100644 doc/de/stack.html create mode 100644 doc/de/threads.html create mode 100644 doc/de/tips.html create mode 100644 doc/de/watches.html create mode 100644 doc/en/argspwdenv.html create mode 100644 doc/en/breakptlist.html create mode 100644 doc/en/globaloptions.html create mode 100644 doc/en/howdoi.html create mode 100644 doc/en/index.html create mode 100644 doc/en/invocation.html create mode 100644 doc/en/localvars.html create mode 100644 doc/en/memory.html create mode 100644 doc/en/pgmoutput.html create mode 100644 doc/en/pgmsettings.html create mode 100644 doc/en/registers.html create mode 100644 doc/en/sourcecode.html create mode 100644 doc/en/stack.html create mode 100644 doc/en/threads.html create mode 100644 doc/en/tips.html create mode 100644 doc/en/types.html create mode 100644 doc/en/watches.html create mode 100644 doc/en/xslt.html create mode 100644 doc/man/kdbg.1 create mode 100644 doc/ru/argspwdenv.html create mode 100644 doc/ru/breakptlist.html create mode 100644 doc/ru/globaloptions.html create mode 100644 doc/ru/howdoi.html create mode 100644 doc/ru/index.html create mode 100644 doc/ru/localvars.html create mode 100644 doc/ru/memory.html create mode 100644 doc/ru/pgmoutput.html create mode 100644 doc/ru/pgmsettings.html create mode 100644 doc/ru/registers.html create mode 100644 doc/ru/sourcecode.html create mode 100644 doc/ru/stack.html create mode 100644 doc/ru/threads.html create mode 100644 doc/ru/tips.html create mode 100644 doc/ru/types.html create mode 100644 doc/ru/watches.html delete mode 100644 kdbg/doc/CMakeLists.txt delete mode 100644 kdbg/doc/de/CMakeLists.txt delete mode 100644 kdbg/doc/de/argspwdenv.html delete mode 100644 kdbg/doc/de/breakptlist.html delete mode 100644 kdbg/doc/de/globaloptions.html delete mode 100644 kdbg/doc/de/howdoi.html delete mode 100644 kdbg/doc/de/index.html delete mode 100644 kdbg/doc/de/localvars.html delete mode 100644 kdbg/doc/de/memory.html delete mode 100644 kdbg/doc/de/pgmoutput.html delete mode 100644 kdbg/doc/de/pgmsettings.html delete mode 100644 kdbg/doc/de/registers.html delete mode 100644 kdbg/doc/de/sourcecode.html delete mode 100644 kdbg/doc/de/stack.html delete mode 100644 kdbg/doc/de/threads.html delete mode 100644 kdbg/doc/de/tips.html delete mode 100644 kdbg/doc/de/watches.html delete mode 100644 kdbg/doc/en/CMakeLists.txt delete mode 100644 kdbg/doc/en/argspwdenv.html delete mode 100644 kdbg/doc/en/breakptlist.html delete mode 100644 kdbg/doc/en/globaloptions.html delete mode 100644 kdbg/doc/en/howdoi.html delete mode 100644 kdbg/doc/en/index.html delete mode 100644 kdbg/doc/en/invocation.html delete mode 100644 kdbg/doc/en/localvars.html delete mode 100644 kdbg/doc/en/memory.html delete mode 100644 kdbg/doc/en/pgmoutput.html delete mode 100644 kdbg/doc/en/pgmsettings.html delete mode 100644 kdbg/doc/en/registers.html delete mode 100644 kdbg/doc/en/sourcecode.html delete mode 100644 kdbg/doc/en/stack.html delete mode 100644 kdbg/doc/en/threads.html delete mode 100644 kdbg/doc/en/tips.html delete mode 100644 kdbg/doc/en/types.html delete mode 100644 kdbg/doc/en/watches.html delete mode 100644 kdbg/doc/en/xslt.html delete mode 100644 kdbg/doc/man/kdbg.1 delete mode 100644 kdbg/doc/ru/CMakeLists.txt delete mode 100644 kdbg/doc/ru/argspwdenv.html delete mode 100644 kdbg/doc/ru/breakptlist.html delete mode 100644 kdbg/doc/ru/globaloptions.html delete mode 100644 kdbg/doc/ru/howdoi.html delete mode 100644 kdbg/doc/ru/index.html delete mode 100644 kdbg/doc/ru/localvars.html delete mode 100644 kdbg/doc/ru/memory.html delete mode 100644 kdbg/doc/ru/pgmoutput.html delete mode 100644 kdbg/doc/ru/pgmsettings.html delete mode 100644 kdbg/doc/ru/registers.html delete mode 100644 kdbg/doc/ru/sourcecode.html delete mode 100644 kdbg/doc/ru/stack.html delete mode 100644 kdbg/doc/ru/threads.html delete mode 100644 kdbg/doc/ru/tips.html delete mode 100644 kdbg/doc/ru/types.html delete mode 100644 kdbg/doc/ru/watches.html diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f64587..ac459d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,11 @@ set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ##### directories add_subdirectory( ${PROJECT_NAME} ) + + +##### other data ################################ + +tde_conditional_add_project_docs( BUILD_DOC ) tde_conditional_add_project_translations( BUILD_TRANSLATIONS ) diff --git a/doc/de/argspwdenv.html b/doc/de/argspwdenv.html new file mode 100644 index 0000000..696221f --- /dev/null +++ b/doc/de/argspwdenv.html @@ -0,0 +1,50 @@ + + + + + + + KDbg - Benutzerhandbuch - Argumente, Arbeitsverzeichnis, Umgebungsvariablen + + +Inhalt +

+Programmargumente, Arbeitsverzeichnis, Umgebungsvariablen +setzen

+Mit Ausführen|Argumente öffnen Sie einen Dialog, in dem +Sie Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen +setzen können. +

+Programmargumente

+In der obersten Eingabezeile können Sie die Programmargumente eingeben, +die an das Programm übergeben werden sollen. Diese werden beim nächsten +Programmstart verwendet. +

+Arbeitsverzeichnis

+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. +

Das Arbeitsverzeichnis gilt auch für gdb selbst! Das angegebene +Arbeitsverzeichnis wird sofort an gdb weitergegeben, d.h. gdb wird die +neue Einstellung verwenden, sobald Sie OK drücken. Das kann +einen Einfluss darauf haben, ob gdb Quellcodedateien findet. +

+Umgebungsvariablen

+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. + + diff --git a/doc/de/breakptlist.html b/doc/de/breakptlist.html new file mode 100644 index 0000000..0acb4d2 --- /dev/null +++ b/doc/de/breakptlist.html @@ -0,0 +1,82 @@ + + + + + + + KDbg - Benutzerhandbuch - Haltepunkte + + +Inhalt +

+Die Liste der Haltepunkte

+Die Liste der Haltepunkte zeigt alle gesetzten Haltepunkte und Watchpoints +und ermöglicht, diese zu manipulieren. Die Liste der Haltepunkte können +Sie mit dem Menüpunkt Ansicht|Haltepunkte anzeigen. +

+Die Übersicht

+Für jeden Haltepunkt wird folgendes angezeigt: + +Das Piktogramm links zeigt an, ob der Haltepunkt aktiviert (tiefroter Punkt) +oder deaktiviert (hellroter Punkt) ist, ob es sich um einen temporären +Haltepunkt handelt (eine winzige Uhr ist sichtbar) und ob der Haltepunkt +bedingt ist (ein Fragezeichen ist sichtbar). +

Watchpoints werden durch ein Brillensymbol gekennzeichnet. +

+Haltepunkte manipulieren

+Beachten Sie bitte, dass Haltepunkte und Watchpoints +nicht manipuliert werden können solange das zu debuggende Programm +läuft. Wenn das Programm bereits gestartet wurde, muss es zuerst angehalten +werden - entweder indem es auf einen bereits gesetzten Haltepunkt trifft +oder "gewaltsam" indem Sie Ausführung|Unterbrechen wählen. +Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie +können die Haltepunkte jetzt verändern. Wählen Sie danach +Ausführung|Ausführen, +um das Programm fortzusetzen. +

Am einfachsten kann ein Haltepunkt im Quellcode-Fenster +gesetzt werden. Wenn Sie den genauen Dateinamen und die Zeilennummer einer +Funktion nicht kennen, können Sie den Funktionsnamen im Feld über +der Liste eingeben und Haltepunkt wählen. +

Sie können eine Haltepunkt in der Liste auswählen seine Zustand +mittels Deaktivieren oder Aktivieren ändern. Oder Sie +klicken auf den Haltepunkt mit der mittleren Maustaste - genau so, wie +Sie im Quellcode-Fenster Haltepunkte aktivieren und deaktivieren. +

Sie können eine Bedingung setzen (sodass das Programm nur stehen +bleibt, wenn die Bedingung erfüllt ist) oder die Anzahl der zu ignorierenden +Stopps setzen (sodass das Programm die nächsten n Male nicht stehen +bleibt, die es über diesen Haltepunkt läuft). Dazu wählen +sie den Schalter Bedingt und geben die Anzahl der zu ignorierenden +Treffer und/oder die Bedingung ein. +

+Watchpoints manipulieren

+Watchpoints sind den Haltepunkten ähnlich, nur dass das Programm angehalten +wird, sobald sich der Inhalt einer Speicherstelle ändert. Ebenso wie +Haltepunkte können Watchpoints nicht manipuliert werden, solange das +Programm läuft. Weitere Hinweise dazu siehe oben. +

Einen Watchpoint können Sie setzen, indem Sie einen Ausdruck im +Feld über der Liste eingeben und Watchpoint klicken. Das Programm +wird dann angehalten, sobald sich der Wert des Ausdrucks ändert. Beachten +Sie, dass Sie Watchpoints, die eine lokale Variable benötigen, nur +setzen können, wenn das Programm von einem Haltepunkt (oder mittels +Ausführung|Unterbrechen) angehalten wurde. +

Zum Entfernen eines Watchpoints wählen Sie diesen in der Liste +aus und klicken Entfernen. Falls der Ausdruck eine lokale Variable +enthält, wird der Watchpoint automatisch entfernt, sobald das Programm +die aktive Funktion verlässt. +

Wie mit Haltepunkten können Sie eine Bedingung oder eine Anzahl +zu ignorierender Stopps setzen, indem Sie den Watchpoint auswählen +und Bedingt klicken. + + diff --git a/doc/de/globaloptions.html b/doc/de/globaloptions.html new file mode 100644 index 0000000..4c0de83 --- /dev/null +++ b/doc/de/globaloptions.html @@ -0,0 +1,72 @@ + + + + + + + KDbg - Benutzerhandbuch - Globale Einstellungen + + +Inhalt +

+Globale Einstellungen

+Mit dem Menüpunkt Datei|Globale Einstellungen können Sie +folgende Optionen einstellen: + + +

+Aufruf von gdb

+ +
Wenn Sie eine alternative Version von gdb verwenden wollen, +geben sie diese unter Aufruf von GDB an. Die Standardeinstellung +ist gdb --fullname --nx. Achtung: Sie müssen jedenfalls diese +beiden Argumente übergeben; wenn Sie sie weglassen, kann KDbg nicht +funktionieren. Wenn Sie das Eingabefeld leer lassen, wird die Standardeinstellung +verwendet.
+ +

+Aufruf eines Terminal-Emulators

+ +
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 --name kdbgio --caption %T -e +sh -c %C.
+ +

+In den Vordergrund

+ +
Sie können angeben, ob das KDbg-Fenster in den Vordergrund +gebracht werden soll, sobald das kontrollierte Programm anhält (bei +einem Breakpoint oder wegen eines Signals). Das Fenster wird allerdings +nicht aktiviert (zumindest nicht unter KWM, dem Window Manger von KDE). +Manche Benutzer werden dieses Verhalten als störend empfinden, weshalb +diese Option standardmässig ausgeschaltet ist.
+ +
Wenn diese Option eingeschaltet ist, zieht sich das KDbg-Fenster +auch wieder in den Hintergrund zurück, sobald das Programm fortgesetzt +wird. Allerdings geschieht das erst nach einer Verzögerung, die ebenfalls +angegeben werden kann. Dadurch wird verhindert, dass das Fenster ständig +nach hinten und vorne blinkt, sobald Sie einen Einzelschritt-Befehl absetzen.
+ + + diff --git a/doc/de/howdoi.html b/doc/de/howdoi.html new file mode 100644 index 0000000..87d08ae --- /dev/null +++ b/doc/de/howdoi.html @@ -0,0 +1,83 @@ + + + + + + + KDbg - Benutzerhandbuch - Wie kann ich...? + + +Inhalt +

+Wie kann ich...?

+ +

+... eine Haltepunkt setzen?

+Dafür gibt's mehrere Möglichkeiten: + +Wenn Sie keinen Haltepunkt setzen können, könnte es sein, dass +das Programm gerade läuft. Sie können keine Haltepunkte setzen, +solange das Programm läuft. Halten Sie es zuerst mit Ausführung|Unterbrechen +an. Falls Sie dann noch immer keine Haltepunkte setzen können, versichern +Sie sich, dass Sie das Programm mit Debug-Information übersetzt und +gebunden haben. +

+... den Wert einer globalen Variablen oder eines beliebigen Ausdrucks anzeigen?

+Benutzen Sie das Ausdrücke-Fenster. +

+... Watchpoints setzen?

+Watchpoints können über die Liste +der Haltepunkte bearbeitet werden. +

+... einen Core-Dump benutzen?

+Laden Sie zuerst das Programm mittels Datei|Programm, dann geben +Sie den Core-Dump mittels Datei|Core dump an. +

+... ein Programm debuggen, das sich in eine Endlosschleife verlaufen hat?

+Starten Sie das Programm und lassen Sie es laufen, bis es in die Endlosschleife +gelangt. Dann schalten Sie um zu KDbg und wählen Ausführung|Unterbrechen. +Hiermit haben Sie das Programm in flagranti erwischt! +

+... erreichen, dass das Programm einigemale über einen Haltepunkt +drüberläuft, ohne anzuhalten?

+In der Liste der Haltepunkte wählen +Sie den Haltepunkt; dann klicken Sie Bedingt und geben die Anzahl +in Ignoriere nächste Treffer an. +

+... eine Umgebungsvariable für das Programm setzen?

+Wählen Sie Ausführung|Argumente und geben die Umgebungsvariable +im Argumente-Dialog an. +

+... ein Arbeitsverzeichnis für das Programm wählen?

+Wählen Sie Ausführung|Argumente und geben das Arbeitsverzeichnis +im Argumente-Dialog an. +

+... das Terminal-Fenster los werden?

+Wählen Sie Datei|Einstellungen und schalten auf das Register +Ausgabe +um. Wählen Sie Nur Ausgabe, einfache Terminalemulation und +klicken Sie OK. Nun müssen Sie das Programm neu laden (am einfachsten +wählen Sie es aus der Liste unter Datei|Zuletzt geöffnete +Programme). Die Programmausgaben werden nun in das eingebaute Ausgabefenster +geschrieben und stdin ist auf /dev/null umgeleitet. +

Sie müssen diese Einstellungen für jedes neue Programm wiederholen, +das Sie debuggen. +

Wichtig: Sie sollten dies nicht tun, falls Ihr Programm +Eingaben vom Terminal (normalerweise stdin) erwartet oder falls mehr als +nur einfache Terminalemultionen benötigt werden (mehr als nur Wagenrücklauf +und Zeilenvorschub). Das eingebaute Ausgabefenster unterstützt keine +Eingaben oder Terminalemulationen. + + diff --git a/doc/de/index.html b/doc/de/index.html new file mode 100644 index 0000000..5a69b7e --- /dev/null +++ b/doc/de/index.html @@ -0,0 +1,190 @@ + + + + + + + KDbg - Benutzerhandbuch + + + +

+KDbg - Benutzerhandbuch

+ +

+Inhalt

+ + + +
+

+Einleitung

+KDbg ist eine grafische Benutzeroberfläche für gdb, +den GNU-Debugger. +

Das bedeutet, dass KDbg selbst nicht der Debugger ist. Vielmehr kommuniziert +KDbg mit gdb, indem Befehlszeilen and diesen geschickt werden +und die Ausgabe, wie z.B. Variablenwerte, entgegengenommen werden. Die +Menübefehle und Mausklicks werden in gdb-Befehle umgesetzt, +und die Ausgabe von gdb wird in (mehr oder weniger) sichtbare +Information umgesetzt, wie zum Beispiel die Struktur von Variablen. +

Eine Folge davon ist, dass KDbg vollständig von den Fähigkeiten +des verwendeten Befehlszeilendebuggers, gdb, abhängig ist. +KDbg kann nicht mehr als gdb leisten. Wenn Sie zum Beispiel einen +gdb +haben, der Programme mit Threads nicht unterstützt, dann kann auch +KDbg das nicht (obwohl ein Threads-Fenster vorhanden ist). +

+Mit KDbg arbeiten

+Bevor Sie mit der Arbeit beginnen, sollten Sie die globalen +Einstellungen prüfen, indem Sie Datei|Globale Einstellungen +aufrufen. +

+Ein zu debuggendes Program angeben

+Um ein Programm zu debuggen, wählen Sie Datei|Programm. Wenn +Sie das Programm schon einmal debuggt haben, können Sie es auch aus +der Liste unter Datei|Zuletzt göffnete Programme wählen. +Das Programm wird jetzt geladen. +

Wenn Sie einen Core-Dump verwenden wollen, müssen Sie zuerst das +Programm, das den Core-Dump erzeugt hat wie gerade erwähnt laden, +dann wählen Sie Datei|Core dump aus dem Menü. KDbg zeigt +die Stelle an, die den Core-Dump verursacht hat. +

Sie können nun Haltepunkte setzen, indem Sie die Einträge +im Menü Haltepunkt oder im Rechte-Maus-Menü oder in der +Liste +der Haltepunkte verwenden. +

Sie können auch programmspezifische +Einstellungen vornehmen, indem Sie Datei|Einstellungen wählen. +

+Das Programm ausführen

+Nun führen Sie das Programm aus, indem Sie Ausführung|Ausführen +wählen. Das Programm arbeitet nun wie gewöhnlich, bis es beendet +wird, auf einen Haltepunkt oder Watchpoint trifft, oder ein Signal empfängt. +

Sie können das Programm mit Argumenten ausführen, ein Arbeitsverzeichnis +festlegen und auch Umgebungsvariablen definieren. Dazu wählen Sie +Ausführung|Argumente +und machen Ihre Angaben im Programmargumente-Dialog. +

Weiters können Sie sich in ein Programm einhängen (attachen), +das bereits ausgeführt wird. Dazu laden Sie das Programm zuerst wie +oben beschrieben, dann wählen Sie Ausführung|Attachen. +Geben Sie die Prozessnummer an und klicken Sie OK. Das Programm +wird jetzt angehalten (aber nicht beendet), und der derzeitige Stand des +Programms wird im Quellcode-Fenster angezeigt. +

+Das Programm wurde angehalten - was nun?

+Wenn das Programm an einem Haltepunkt, Watchpoint oder wegen eines Signals +angehalten wird, zeigt das Quellcode-Fenster +die Zeile, in der das Programm gerade arbeitete. Es passiert häufig, +dass das Programm wegen eine Signals (oftmals SIGSEGV, Speicherzugriffsfehler) +in einer Funktion angehalten wird, die sich nicht in jenem Programmteil +befindet, den Sie geschrieben haben. In diesem Fall betrachten Sie das +Stack-Fenster +genauer: Suchen Sie nach einer Funktion, die Sie geschrieben haben (beginnen +Sie am oberen Ende) und klicken Sie darauf. Das bringt Sie an eine Stelle, +an der Sie mit der Suche nach dem tatsächlichen Programmfehler beginnen +können. +

Im Menü 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 Menü Haltepunkt finden Sie Befehle zum Setzen, Entfernen, +Aktivieren und Inaktivieren von permanenten und temporären Haltepunkten. +Natürlich können Sie auch eine Liste +der Haltepunkte anzeigen. 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. +

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. +

+Die Informationsfenster von KDbg

+KDbg zeigt Information in einer Reihe verschiedener Fenster an. Im Menü +Ansicht +finden Sie die Befehle, die diese Fenster anzeigen und schliessen. Es handelt +sich dabei um dockende Fenster, sodass Sie deren Anordnung beliebig +verändern können. + + +

+Tipps und so weiter

+ + + +

+Bekannte Probleme

+gdb 4.16 hat Probleme bei der Handhabung von C++-Klassen mit virtuellen +Basisklassen. (Diese kommen häufig in CORBA-Programmen vor.) Gdb stürzt +dabei häufig aufgrund eines Speicherzugriffsfehlers ab. KDbg erkennt, +wenn gdb unerwartet beendet wird. Leider lässt sich nicht +wirklich was dagegen unternehmen. Sie müssen gdb mittels +Datei|Programm +neu starten, das heißt auch für die Debug-Sitzung zurück +an den Start :-(. +

Die Typerkennung von KDbg arbeitet nur, wenn die Bibilotheken dynamisch +ins Programm gebunden sind. +

+Autor

+KDbg wurde von Johannes Sixt +mit vielen weiteren Helfern geschrieben. +
Die KDbg-Homepage befindet sich unter http://www.kdbg.org/. + + diff --git a/doc/de/localvars.html b/doc/de/localvars.html new file mode 100644 index 0000000..8b1d36c --- /dev/null +++ b/doc/de/localvars.html @@ -0,0 +1,25 @@ + + + + + + + KDbg - Benutzerhandbuch - Lokale Variablen + + +Inhalt +

+Lokale Variablen

+Mittels Ansicht|Lokale Variablen wird das Fenster für die lokalen +Variablen angezeigt. Darin wird der Inhalt der lokalen Variablen des aktiven +Stack-Frames angezeigt. +

Das im Stack-Fenster ausgewählte Frame +bestimmt die lokalen Variablen, die hier angezeigt werden. +

Sobald das Programm angehalten wird (z.B. durch einen Haltepunkt), wird +die Anzeige aktualisiert. Variablenwerte, die sich seit dem letzten Anhalten +geändert haben, werden rot hervorgehoben. +

Sie können die ausgewählte Variable oder Struktur-Member in +das Ausdrückefenster kopieren, indem Sie +mittels der rechten Maustaste das kleine Kontextmenü aufrufen. + + diff --git a/doc/de/memory.html b/doc/de/memory.html new file mode 100644 index 0000000..06a2a5e --- /dev/null +++ b/doc/de/memory.html @@ -0,0 +1,29 @@ + + + + + + + KDbg - Benutzerhandbuch - Speicherinhalt + + +Inhalt +

+Der Speicherinhalt

+Das Fenster zur Anzeige des Speicherinhalts können Sie mittels Ansicht|Speicher +aufrufen. Es zeigt den Inhalt des Speichers des Programms an beliebigen +Adressen an. +

Um Speicherinhalt anzuzeigen, geben Sie eine Adresse an. Die Adresse +braucht nicht in Hexadezimalform eingegeben werden und es kann sich auch +um einen beliebigen Ausdruck handeln. +

Sie können ein Format wählen, wie der Speicherinhalt dargestellt +werden soll, indem Sie die entsprechenden Optionen im Rechte-Maus-Menü +wählen. +

Die zuletzt verwendeten Adressen werden zwischengespeichert und können +über die Popup-Liste ausgewählt werden. Bitte beachten Sie, dass +zusammen mit der Adresse auch das Darstellungsformat gespeichert wird. +

Wenn Sie keinen Speicherinhalt ansehen wollen, empfehlen wir, dass Sie +die Adresse löschen, damit kein Speicherinhalt angezeigt wird - dadurch +arbeitet KDbg etwas schneller. + + diff --git a/doc/de/pgmoutput.html b/doc/de/pgmoutput.html new file mode 100644 index 0000000..65cf563 --- /dev/null +++ b/doc/de/pgmoutput.html @@ -0,0 +1,52 @@ + + + + + + + KDbg - Benutzerhandbuch - Programmausgabe + + +Inhalt +

+Das Programmausgabefenster

+Das Programmausgabefenster wird mit Ansicht|Ausgabe geöffnet. +Das Ausgabefenster zeichnet den Text auf, den das Programm auf stdout +und stderr ausgibt. +

Das Ausgabefenster lässt keine Eingabe zu und unterstützt +nur eine äußerst minimale Terminalemulation: Lediglich \n +(Zeilenvorschub, line-feed), \t (horizontaler Tabulator) und +\r (Wagenrücklauf, carriage-return) werden behandelt. +Das reicht im Allgemeinen für Programme mit grafischer Benutzeroberfläche +aus, die nur Debug-Ausgaben schreiben. +

Wenn ein Programm zum ersten Mal in KDbg geladen wird, wird dieses Ausgabefenster +nicht benutzt. Der Grund dafür ist, dass KDbg nicht wissen +kann, ob das Programm eine ausgefeilte Terminalemulation benötigt +oder ob es Eingaben über das Terminal erwartet. Deshalb wird standardmässig +ein Terminalemulator verwendet. Um die Ausgaben in das Ausgabefenster umzuleiten, +gehen sie wie folgt vor: +

    +
  1. +Rufen Sie mittels Datei|Einstellungen die programmspezifischen +Einstellungen auf.
  2. + +
  3. +Schalten Sie auf das Register Ausgabe um.
  4. + +
  5. +Wählen Sie Nur Ausgabe, einfache Terminalemulation und klicken +Sie OK.
  6. + +
  7. +Laden Sie das Programm erneut, indem Sie es aus der Liste unter Datei|Zuletzt +geöffnete Programme wählen.
  8. +
+Sie können den Inhalt des Fensters jederzeit löschen, indem Sie +Löschen aus dem Popup-Menü wählen, das Sie mit der +rechten Maustaste aufrufen können. +

Falls die letzte Zeile des Ausgabefensters sichtbar ist, verschiebt +sich der Fensterinhalt automatisch, sodass die letzte Zeile immer sichtbar +bleibt, wenn neuer Text ankommt. Wenn Sie hingegen den Fensterinhalt verschieben, +sodass die letzte Zeile nicht sichtbar ist, bleibt der sichtbare Teil unverändert. + + diff --git a/doc/de/pgmsettings.html b/doc/de/pgmsettings.html new file mode 100644 index 0000000..b6a163e --- /dev/null +++ b/doc/de/pgmsettings.html @@ -0,0 +1,83 @@ + + + + + + + KDbg - Benutzerhandbuch - Programmspezifische Einstellungen + + +Inhalt +

+Programmspezifische Einstellungen

+In diesem Dialog können programmspezifischen Einstellungen getroffen +werden. Der Dialog wird mittels Datei|Einstellungen aufgerufen. +Die Einstellungen werden nur auf das geladene Programm angewendet und bleiben +über Sitzungen hinweg erhalten. +
Wichtiger Hinweis: Die getroffenen Einstellungen +werden erst wirksam, wenn das Programm das nächste Mal geladen +wird. Das bedeutet, dass Sie nach dem Drücken von OK in diesem Dialog +das Programm erneut laden müssen (mittels Datei|Programm)!!
+ + + +

+Debugger

+Hier kann der Debugger gewählt werden, der für dieses Programm +verwendet werden soll. +

+Aufruf von GDB

+ +
Geben Sie den Befehl an, mit dem gdb aufgerufen werden +soll. Wenn Sie das Feld leer lassen, wird die globale +Einstellung übernommen. Wenn Sie cross-compilieren oder remote +debuggen, werden Sie hier einen gdb-Befehl angeben, der für +die Zielplattform geeignet ist. Die Standardeinstellung ist gdb --fullname --nx. +Sie müssen auf jeden Fall auch diese Optionen angeben, andernfalls +funktioniert KDbg nicht.
+ +

+Ausgabe

+Hier geben Sie an, unter welcher Terminalemulation das Programm arbeitet. +

+Keine Ein- und Ausgabe

+ +
Wählen Sie diese Option, falls Ihr Programm keine Eingabe +vom Terminal erwartet und Sie keine Ausgabe sehen wollen, die auf stdout +oder stderr geschrieben wird. Alle drei Standardkanäle (stdin, +stdout +und stderr) werden praktisch nach /dev/null umgeleitet.
+ +

+Nur Ausgabe, einfache Terminalemulation

+ +
Wählen Sie diese Option, falls Ihr Programm keine Eingabe +vom Terminal erwartet (stdin wird nach /dev/null umgeleitet) +und die Ausgabe, die auf stdout und stderr geschrieben +wird, keine besondere Terminalemulation erfordert. Die Ausgabe wird im +Ausgabefenster +angezeigt. +
Wichtig: Die eingebaute Terminalemulation interpretiert nur +den Zeilenvorschub \n (line-feed, ASCII 10) als Zeilenumbruch. +Das Zeichen für den Wagerücklauf \r (carriage-return, +ASCII 13) wird nicht behandelt. Das ist ausreichend für Debug-Ausgaben, +wie sie häufig beim Programmierern grafischer Benutzeroberflächen +verwendet wird.
+ +

+Volle Terminalemulation

+ +
Wählen Sie diese Option, falls Ihr Programm Eingaben über +stdin +liest oder falls die Ausgabe auf stdout oder stderr Terminalemulation +erfordert. Ein Terminalemulator kann in den globalen +Einstellungen angegeben werden.
+ + + diff --git a/doc/de/registers.html b/doc/de/registers.html new file mode 100644 index 0000000..2d99bcb --- /dev/null +++ b/doc/de/registers.html @@ -0,0 +1,37 @@ + + + + + + + KDbg - Benutzerhandbuch - Registerinhalt + + +Inhalt +

+Der Registerinhalt

+Das Fenster zur Anzeige des Registerinhalts wird mittels Ansicht|Register +angezeigt. Jedesmal, wenn das Programm angehalten wird, zeigt Kdbg hier +den Inhalt der CPU-Register an. +

Das Fenster ist in 3 Spalten aufgeteilt: +

    +
  1. +Die Spalte Register zeigt die Namen der Register.
  2. + +
  3. +Die Spalte Wert zeigt den Inhalt der Register in einer mehr oder +weniger rohen Form an. Diese rohe Form wird üblicherweise in Hexadezimaldarstellung +angezeigt, selbst der Inhalt der Fließkommaregister.
  4. + +
  5. +Die Spalte Dekodierter Wert zeigt den Inhalt der Register in dekotierter +Form an. Bei den arithmetischen Registern ist das meist eine vorzeichenbehaftete +Dezimalzahl, bei Fließkommaregistern wird die Fließkommazahl +angezeigt, die Flag-Register werden manchmal die gesetzten Flags in Worten +dargestellt (hängt von der verwendeten Version von gdb ab).
  6. +
+Durch Klicken mit der rechten Maustaste können Sie ein Kontextmenü +aufrufen, über das Sie die Darstellung der Werte in der zweiten Spalte +wählen können. + + diff --git a/doc/de/sourcecode.html b/doc/de/sourcecode.html new file mode 100644 index 0000000..56b462f --- /dev/null +++ b/doc/de/sourcecode.html @@ -0,0 +1,30 @@ + + + + + + + KDbg - Benutzerhandbuch - Quellcode + + +Inhalt +

+Das Quellcode-Fenster

+Das Quellcode-Fenster ist das Hauptfenster und ist immer sichtbar. +

Das Quellcode-Fenster zeigt den Quellcode von Programmen an. Am linken +Rand jeder Zeile befindet sich ein "aktiver Bereich". Dort wird ein mit +einem Pfeil angezeigt, an welcher Stelle das Programm gerade ausgeführt +wird. Weiters wird hier angezeigt, an welchen Stellen Haltepunkte gesetzt +sind. +

Neue Haltepunkte können gesetzt werden, indem Sie mit der linken +Maustaste in den aktiven Bereich klicken. Mit der mittleren Maustaste können +Sie vorhandene Haltepunkte aktivieren und deaktivieren. +

Das kleine Pluszeichen '+' zwischen dem "aktiven Bereich" und der Quellcodezeile +zeigt den Assembler-Code der Quellcodezeile an, wenn Sie darauf klicken. +Dabei wird das Zeichen zu einem Minus '-', das den Assemblercode wieder +verbirgt, wenn Sie darauf klicken. +

Meistens werden Quellcode-Dateien automatisch geöffnet. Sie können +Dateien manuell öffnen, indem Sie Datei|Quellcode öffnen +wählen oder Quellcode öffnen aus dem Rechte-Maus-Menü. + + diff --git a/doc/de/stack.html b/doc/de/stack.html new file mode 100644 index 0000000..ae6e576 --- /dev/null +++ b/doc/de/stack.html @@ -0,0 +1,25 @@ + + + + + + + KDbg - Benutzerhandbuch - Stack + + +Inhalt +

+Das Stack-Fenster

+Das Stack-Fenster wird mittels Ansicht|Stack angezeigt. Hierin wird +der Call-Stack (Backtrace, Stack-Frames) angezeigt, d.h. die Funktionen, +die das Programm im Augenblick betreten und noch nicht verlassen hat. +

Das innerste Frame (in dem sich das Programm gerade befindet) befindet +sich an erster Stelle. +

Sie können in ein anderes Stack-Frame umschalten, indem Sie einfach +auf die entsprechende Zeile klicken. Das Quellcode-Fenster +zeigt die Stelle an, in der der Aufruf in das nächst-innere Frame +stattfand; die Anzeige der lokalen Variablen +und die Ausdrücke werden umgeschaltet, +sodass die lokalen Variablen des gewählten Frames angezeigt werden. + + diff --git a/doc/de/threads.html b/doc/de/threads.html new file mode 100644 index 0000000..924eea4 --- /dev/null +++ b/doc/de/threads.html @@ -0,0 +1,44 @@ + + + + + + + KDbg - Benutzerhandbuch - Threads + + +Inhalt +

+Die Programm-Threads

+Das Fenster mit der Liste der Programm-Threas wird mittels Ansicht|Threads +aufgerufen. Dieses Fenster listet die aktiven Threads des Programms auf. +

Wichtig: Das Debuggen von Programm-Threads muss von der +verwendeten gdb-Version unterstützt werden - es handelt sich +hierbei nicht um ein Feature von KDbg. Für Linux-Systeme (i386) funktioniert +gdb5 +am besten. +

Der Inhalt des Fensters wird jedesmal erneuert, wenn das Programm vom +Debugger angehalten wird. (Das heisst, dass nicht der aktuelle Zustand +des Programms angezeigt wird, während es läuft.) +

Die erste Spalte zeigt die Thread-ID an, die zweite Spalte zeigt die +Stelle, an der der Thread gerade abgearbeitet wird. +

Die Markierung am Zeilenanfang benennt den aktiven Thread: +

+Indem Sie auf einen Thread klicken, wechseln Sie den aktiven Thread und +die genannten Fenster werden entsprechend auf den aktuellen Stand gebracht. +Ausserdem schaltet das Quellcode-Fenster +zu der Programmstelle um, an der der aktive Thread angehalten wurde. + + diff --git a/doc/de/tips.html b/doc/de/tips.html new file mode 100644 index 0000000..f27e5a3 --- /dev/null +++ b/doc/de/tips.html @@ -0,0 +1,45 @@ + + + + + + + KDbg - Benutzerhandbuch - Tipps + + +Inhalt +

+Tipps und Tricks

+ + + + + diff --git a/doc/de/watches.html b/doc/de/watches.html new file mode 100644 index 0000000..8de3d4b --- /dev/null +++ b/doc/de/watches.html @@ -0,0 +1,27 @@ + + + + + + + KDbg - Benutzerhandbuch - Ausdrücke + + +Inhalt +

+Ausdrücke (Watches)

+Das Watches-Fenster wird mittels Ansicht|Ausdrücke angezeigt. +Dieses 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. +

Sie können auch eine Variable oder einen Struktur-Member aus dem +Lokale-Variablen-Fenster herüberkopieren, +indem Sie das dortige Kontextmenü zuhilfe nehmen. +

Die eingegeben Ausdrücke werden zwischen Sitzungen gespeichert. +Wir empfehlen, Ausdrücke zu entfernen, die nicht mehr benötigt, +weil das die Arbeitsgeschwindigkeit von KDbg steigert. + + diff --git a/doc/en/argspwdenv.html b/doc/en/argspwdenv.html new file mode 100644 index 0000000..22482f0 --- /dev/null +++ b/doc/en/argspwdenv.html @@ -0,0 +1,42 @@ + + + + + + KDbg - User's Manual - Arguments, Environment + + +

Contents

+

+Specifying program arguments, working directory, environment variables

+

Choose Execution|Arguments to open a dialog where you can set program +arguments, the working directory for your program, and environment variables.

+

Tab Arguments

+

In the edit box enter the arguments that shall be passed on to your +program. Insert file name lets you browse for a file; +the file name will be inserted in the edit box (at the cursor position).

+

Next time the program is started, the new arguments will be used.

+

Tab Working Directory

+

In the edit box you can specify the working directory for your program. +Browse lets you browse for a directory. +Your program will use the new directory only when it is run the next time.

+

The working directory also applies to gdb itself! The directory that +you specify will be passed to gdb immediately, i.e. gdb will work with +the new setting as soon as you press OK. This can influence whether +source code files are found.

+

Tab Environment

+

In the Environment tab you can set environment variables that the program +sees in addition to those that it inherits. +In the edit box type in an expression of the form VARIABLE=value +to set the environment variable VARIABLE to the value value, +and click Modify. To remove a variable, select it from the list +below and click Delete. To change the value, edit the value in the +edit field and click Modify. If you change the name of the variable +and click Modify, you add a new variable! The new environment variables +will be used by your program the next time it is run.

+

Tab xsldbg Settings

+

This tab is only available when a XSLT script is +debugged. Here you can specify various flags that influence the +XSL translation and XSLDBG.

+ + diff --git a/doc/en/breakptlist.html b/doc/en/breakptlist.html new file mode 100644 index 0000000..fb1c18e --- /dev/null +++ b/doc/en/breakptlist.html @@ -0,0 +1,93 @@ + + + + + + KDbg - User's Manual - Breakpoint list + + +

Contents

+

+The Breakpoint List

+

The breakpoint list displays all breakpoints and watchpoints that are set +and allows you to manipulate them. It can be displayed using View|Breakpoints.

+

+The list of breakpoints

+

For each breakpoint the following is shown:

+ +

The icon in front of the entry indicates whether the breakpoint is enabled +(a red dot) or disabled (a bright red dot), whether the breakpoint is temporary +(a tiny clock is overlaid), whether the breakpoint is conditional (a +tiny question mark is overlaid), or whether the breakpoint is orphaned +(a 'x' is overlaid).

+

Watchpoints are indicated by an eye glas icon in front of the line.

+

+Orphaned breakpoints

+

Orphaned breakpoints are breakpoints that gdb cannot implant +immediately. Orphaned breakpoints occur if you try to set a breakpoint in a file +that is not part of the executable. In particular, this is the case if the file +belongs to a shared library or dynamically loaded module: When the executable +is loaded, gdb does not yet know about dynamic modules and, hence, cannot set +breakpoints there. However, KDbg does not forget about requests to set +breakpoints in dynamic modules: It tries to set orphaned breakpoints each time +that the program stops. When the breakpoint can be set successfully, it turns +into a normal breakpoint.

+

But there is an important consequence: Orphaned breakpoints are not effective, +and the program will not stop there. The remedy is to set a breakpoint +in the executable at the earliest possible point after which it is known that +the dynamic module is loaded. For shared libraries this is usually in main() +and for dynamically loaded modules it is after the call to dlopen() +(or equivalent). When the program stops at this breakpoint the orphaned +breakpoints from the dynamic module are set and become effective.

+

+Manipulating breakpoints

+

It is important to note that breakpoints and watchpoints +cannot be manipulated while the program is running. If the program has +already been started, it must stop first - either by hitting a breakpoint +that is already set or forcefully by choosing Execution|Break. Note +that this will not terminate the program, it just interrupts it. You can +now manipulate the breakpoints; then choose Execution|Continue to +let the program continue.

+

To set a breakpoint on a specific source line, it is easiest to do this +in the source code window. If you don't know the exact file and line number +of a function, you can set the breakpoint by typing the function name in +the edit box above the list and click Add Breakpoint.

+

You can disable and enable breakpoints by selecting them in the list +and clicking Disable or Enable. Or you simply click on the +breakpoint in the list using the middle mouse button - just like you enable +and disable breakpoints in the source window.

+

You can set a condition on a breakpoint (so that the program is only +stopped if the condition is true) or set an ignore count (so that the program +is not stopped the next n times that the breakpoint is hit). To do that, +press the Conditional button and enter the condition and/or ignore +count.

+

+Manipulating watchpoints

+

Watchpoints are a like breakpoints, except that they interrupt the program +when the value of a memory location changes. As with breakpoints, watchpoints +cannot be manipulated while the program is running. See above +for more information.

+

To set a watchpoint, type an expression in the edit box above the list, +then click Add Watchpoint. The program will stop when the value +of the expression changes. Note that watchpoints that involve local variables +can only be set when the program is stopped in a breakpoint (or has been +interrupted by Execution|Break).

+

To remove the watchpoint, select it from the list and click Remove. +If the expression involves a local variable, the watchpoint will be removed +automatically when the program leaves the current frame.

+

You can set a condition and an ignore count on the watchpoint just like +on breakpoints by selecting it and clicking Conditional.

+ + diff --git a/doc/en/globaloptions.html b/doc/en/globaloptions.html new file mode 100644 index 0000000..52faaab --- /dev/null +++ b/doc/en/globaloptions.html @@ -0,0 +1,78 @@ + + + + + + KDbg - User's Manual - Global Options + + +

Contents

+

+Global Options Dialog

+

To specify some global options, choose Settings|Global Options. You +can set the following:

+ + +

+How to invoke gdb

+ +
If you want to use a different version of gdb, you can specify +it under +How to invoke GDB. The default command is gdb --fullname +--nx. Be sure to also specify these options if you change the gdb +executable. If you leave them away, KDbg will not work. If you messed up +the entry, you can clear it to revert to the default setting.
+ +

+How to invoke a terminal emulator

+ +
If you want to use a different terminal program to show the +output of the program, specify it under Terminal for program output. +The default setting is xterm -name kdbgio -title %T -e sh -c %C. +In this entry, +%T will be replaced by a title string, %C +will be replaced by a Bourne shell script that loops infinitely so that +the terminal window doesn't close. (No, it doesn't use CPU, it calls sleep +3600 in a loop :) An alternative for this setting could be konsole +--name kdbgio --caption %T -e sh -c %C.
+ +

+Pop into foreground

+ +
You can specify whether the KDbg window shall move itself into +the foreground as soon as the program being debugged stops (at a breakpoint +or due to a signal). The KDbg window is not activated, however (at least +under KWM, the KDE window manager). Some users may feel that this behavior +is intrusive, so this option is off by default.
+ +
If this option is on, KDbg will also retreat itself into the +background when the program is continued by any command, but it does so +only after a timeout that can be specified. This avoids that the debugger +window flashes back and forth each time you click any of the Step +commands.
+ +

+File filters

+ +
You can specify wildcards for source files and header files, +which are used in the file dialog of the File|Open Source +command.
+ + + diff --git a/doc/en/howdoi.html b/doc/en/howdoi.html new file mode 100644 index 0000000..6191144 --- /dev/null +++ b/doc/en/howdoi.html @@ -0,0 +1,76 @@ + + + + + + KDbg - User's Manual - How Do I...? + + +

Contents

+

+How Do I...?

+ +

+... set breakpoints?

+

There's more than one way to set a breakpoint:

+ +

If you can't set breakpoints, maybe the program is currently running. You +can't set breakpoints while the program is running. Stop it first using +Execution|Break. +If you still can't set breakpoints, make sure that you have compiled and +linked your program with debugging information enabled.

+

+... display the value of a global variable or an arbitrary expression?

+

Use the Watch window.

+

+... set watchpoints?

+

Watchpoints are manipulated in the breakpoint +list.

+

+... use a core dump?

+

First load the executable using File|Executable, then specify the +core dump using File|Core dump.

+

+... debug a program that's caught in an endless loop?

+

Start the program and let it run until it is in the endless loop. Then +switch to KDbg and choose Execution|Break. You've just caught the +nasty program in flagranti!

+

+... achieve that the program passes over a breakpoint a number of times +before it stops?

+

In the breakpoint list select the breakpoint; +then click Conditional and specify the number of times to skip the +breakpoint in the Ignore count field.

+

+... set environment variables for the executable?

+

Select Execution|Arguments and specify the environment variables +in the program arguments dialog.

+

+... set a working directory for the executable?

+

Select Execution|Arguments and specify the working directory in +the program arguments dialog.

+

+... get rid of this terminal window?

+

Select Settings|This Program and switch to the Output tab. +Select Only output, simple terminal emulation and click OK. +Now restart the program (choose it from the list under File|Recent Executables). +The program output goes now to the built-in output +window and stdin is redirected to /dev/null.

+

You must do this for every new program that you debug.

+

Important: You should not do this if your program expects +input from the terminal (usually stdin) or if its output requires nifty +terminal emulation (more than carriage-return and line-feed). The built-in +output window does not support input and terminal emulation.

+ + diff --git a/doc/en/index.html b/doc/en/index.html new file mode 100644 index 0000000..454cd08 --- /dev/null +++ b/doc/en/index.html @@ -0,0 +1,185 @@ + + + + + + KDbg - User's Manual + + + +

+KDbg - User's Manual

+ +

+Contents

+ + + +
+

+Introduction

+

KDbg is a front-end for gdb, the GNU debugger.

+

This means that KDbg itself is not the debugger. Rather, it communicates +with gdb, a command line debugger, by sending commands to it and +receiving the output, such as variable values. The menu commands and mouse +clicks are translated into gdb commands, and the output of gdb +is translated into (more or less) visible information, such as structured +variable contents.

+

The upshot of all this is that KDbg completely relies on the capabilities +of the underlying command line debugger, gdb. KDbg can do no more +than gdb can. For example, if you have a gdb that does +not supports debugging of threaded programs, KDbg cannot, either (even +though it offers a threads window).

+

+Using KDbg

+

Before you start using KDbg, you may want to review the options in the +Global Options dialog that you invoke +with Settings|Global Options.

+

+Specifying a debugging target

+

To debug a program, choose File|Executable from the menu. If you +have debugged the program earlier, you can choose it from File|Recent +Executables. The program is loaded.

+

If you want to debug a core dump, you must first load the executable +that produced the core dump, then choose +File|Core Dump from the +menu. Now KDbg goes to the point in the program that caused the core dump.

+

You can now set breakpoints, using the Breakpoint menu, the right +mouse button menu, or the breakpoint window.

+

You can also choose program specific settings that apply only to the +currently loaded executable using Settings|This Program, in the +Program Settings dialog.

+

Furthermore, it is possible to debug XSLT scripts.

+

+Running the program

+

Now run the program by selecting Execution|Run. The program now +executes as usual until it either exits, hits a breakpoint or watchpoint, +or receives a signal.

+

You can run the program with arguments, set a working directory, or +set environment variables. To do this, choose Execution|Arguments +and specify your options in the Program Arguments +dialog (before you start the program).

+

You can also attach to a program that is currently running. To do this, +first load the executable file like above. Then choose Execution|Attach. +From the list processes specify the one you want to attach to +and click OK. The running program is +halted (not terminated), and the current point of execution is displayed +in the source window.

+

On some systems the list of processes may not be available. +In this case a simple edit box is available where the process number can be +specified.

+

+The program stopped - now what?

+

When the program stops at a breakpoint, watchpoint, or due to a signal, +the source code window displays the line +where the program stopped. It is very common that the program stops due +to a signal (usually a SIGSEGV, segmentation violation) in a function +that is not part of the program, that you have written. In this case you +investigate the stack window and look for a function +that you have written (start at the top of the list) and click on it. This +will bring you to a location that you can start your search for the real +bug.

+

In the menu Execution you find the commands that you need to +run +the program, step through code, and to interrupt the program (Break) +while it is running. The important commands (Run and all kinds of +Step) are bound to function keys. For efficient debugging it is +strongly recommend that you get used to using them. You can use +Settings|Configure Shortcuts if you want to bind the functions +to different keys.

+

In the menu Breakpoint you find commands to set, clear, disable, +and enable permanent and temporary breakpoints. You can display a list +of breakpoints in the breakpoints window. +You can also set a breakpoint by clicking at the left end of the source +line (using the left mouse button), and you can enable and disable a breakpoint +by clicking it using the middle mouse button.

+

The animation in the toolbar indicates whether the program +is running. It stops when the program stopped in a breakpoint or for +some other reason or when the program exited. This animated button is a shortcut +for Execution|Break.

+

+KDbg's information windows

+

KDbg displays information and accepts commands in number of different windows. +In the menu View you find commands to show and hide these windows. +They are docking windows, which means that you can drag them around and +arrange them in any manner you like.

+ + +

+Tips and such

+

The following topics give some useful hints on using KDbg.

+ + +

+Author

+

KDbg is written by Johannes Sixt +with contributions from these people (in no particular order):

+ +

KDbg homepage is at http://www.kdbg.org/.

+ + diff --git a/doc/en/invocation.html b/doc/en/invocation.html new file mode 100644 index 0000000..2f99dd0 --- /dev/null +++ b/doc/en/invocation.html @@ -0,0 +1,34 @@ + + + + + + KDbg - Invocation + + +

Contents

+

Invoking KDbg from the command line

+

+Usage: kdbg [TQt-options] [KDE-options] [options] [program] [core] 
+
+Generic options:
+  --help                    Show help about options
+  --help-qt                 Show TQt specific options
+  --help-kde                Show KDE specific options
+  --help-all                Show all options
+  --author                  Show author information
+  -v, --version             Show version information
+  --license                 Show license information
+  --                        End of options
+
+Options:
+  -t <file>                 transcript of conversation with the debugger
+  -r <device>               remote debugging via <device>
+  -l <language>             specify language: C, XSLT []
+  -p <pid>                  specify PID of process to debug
+
+Arguments:
+  program                   path of executable to debug
+  core                      a core file to use
+

+ diff --git a/doc/en/localvars.html b/doc/en/localvars.html new file mode 100644 index 0000000..1461f70 --- /dev/null +++ b/doc/en/localvars.html @@ -0,0 +1,28 @@ + + + + + + KDbg - User's Manual - Local Variables + + +

Contents

+

+The Local Variables Window

+

The local variables window is opened using View|Locals. The local +variables window displays the contents of the local variables at the currently +selected stack frame.

+

The set of local variables that are displayed is determined by the stack +frame that is selected in the stack window.

+

Variable values that changed between stops of the program are displayed +in red color.

+

The values of most variables can be changed. For this purpose, press F2 +while the input focus is in the window or choose Edit value from the +context menu. Then edit the value and hit Enter. Note that you cannot modify +the strings that char* values point to in this way, just the pointer +value.

+

Using the context menu you can move +the active variable or structure member to the watched +expressions window.

+ + diff --git a/doc/en/memory.html b/doc/en/memory.html new file mode 100644 index 0000000..75693f9 --- /dev/null +++ b/doc/en/memory.html @@ -0,0 +1,26 @@ + + + + + + KDbg - User's Manual - Memory Dump + + +

Contents

+

+The Memory Dump Window

+

The memory dump window is displayed using View|Memory. It displays +the contents of the program's memory at arbitrary adresses.

+

To display memory contents, enter an address in the edit field. The +address need not be given in hexadecimal form - it can be an expression.

+

You can specifiy a format how the memory contents shall be displayed +by chooseing the appropriate options from the popup menu that you invoke +by clicking the right mouse button.

+

A number of address expressions are remembered. You can recall such +an expression from the drop-down list. Please note that the address expression +is remembered together with the format.

+

If you don't need to investigate memory contents, it is recommended +that you clear the expression so that no memory dump is displayed - this +speeds up the debugging process.

+ + diff --git a/doc/en/pgmoutput.html b/doc/en/pgmoutput.html new file mode 100644 index 0000000..3e18902 --- /dev/null +++ b/doc/en/pgmoutput.html @@ -0,0 +1,46 @@ + + + + + + KDbg - User's Manual - Program Output + + +

Contents

+

+The Program Output Window

+

The program output window is displayed using View|Output. The output +window captures text that is written to stdout and stderr by the program +being debugged.

+

The output window does not allow to type input for the program and it +features only minimal terminal emulation: \n (line-feed), +\t (horizontal tab), and \r (carriage-return) +are treated. These capabilities are usually sufficient to debug GUI programs +which only write debugging output to stdout and stderr.

+

When a program is debugged with KDbg for the first time, the program +output window is not used. The reason for this is that KDbg cannot +know whether the program requires sophisticated terminal emulation or if +it expects input through a terminal. So, a terminal emulator program is +used by default. In order to redirect the output to the output window, +you must do the following:

+
    +
  1. +Open the Settings dialog by selecting Settings|This Program.
  2. + +
  3. +Switch to the Output tab.
  4. + +
  5. +Choose Only output, simple terminal emulation and click OK.
  6. + +
  7. +Reload the program by selecting it from the list in File|Recent Executables.
  8. +
+

You can clear the contents of the output window by selecting Clear +from the popup menu that appears when you click the right mouse button.

+

If the last line of the output is visible, the window always scrolls +automatically so that the last line remains visible when new output arrives. +If, however, you manually scroll up so that the last line is not visible, +the visible portion of text will not change.

+ + diff --git a/doc/en/pgmsettings.html b/doc/en/pgmsettings.html new file mode 100644 index 0000000..64225fb --- /dev/null +++ b/doc/en/pgmsettings.html @@ -0,0 +1,81 @@ + + + + + + KDbg - User's Manual - Program Settings + + +

Contents

+

+The Program Settings Dialog

+

In this dialog, program specific settings can be selected. It is invoked +by Settings|This Program. The settings apply only to the currently loaded +executable and will be saved across sessions.

+
Important note: The chosen settings will only +apply the next time the executable is loaded into KDbg. This means that +after pressing +OK in this dialog, you must reload the executable +using File|Recent Executables!!
+ + + +

+Debugger

+

In this section, the debugger to be used for the program can be chosen.

+

+How to invoke GDB

+ +
Enter the command to invoke gdb. Leave this field empty to +use the default gdb command as specified in the global +options. When you are cross-compiling and remote-debugging, you will +probably want to use a different gdb suitable for the target platform. +The default command is gdb --fullname --nx. Be sure to specify +at least --fullname if you change the gdb command. +If you remove this command switch, KDbg will not work. +
+ +

+Output

+

In this section, the terminal emulation under which the program will run +can be selected.

+

+No input and output

+ +
Check this option if your program does not receive input from +the terminal and you do not want to see the output that the program writes +to stdout and stderr (if any). All three standard channels +(stdin, stdout, and stderr) are effectively +redirected to /dev/null.
+ +

+Only output, simple terminal emulation

+ +
Check this option if your program does not receive input from +the terminal (stdin will be redirected to /dev/null), +and the output that it writes to stdout and stderr does +not require sophisticated terminal emulation. The output will be shown +in the Output window. +
Important: The integrated terminal emulator will only interpret +the line-feed character \n (ASCII 10) to break lines. It will +not +handle the carriage-return character \r (ASCII 13). This is sufficient +for displaying plain debugging output that is often used by developers +of GUI programs.
+ +

+Full terminal emulation

+ +
Check this option if your program reads input from stdin +or if the output to stdout or stderr requires terminal +emulation. A terminal emulator will be invoked as specified in the global +options.
+ + + diff --git a/doc/en/registers.html b/doc/en/registers.html new file mode 100644 index 0000000..fc9fb5b --- /dev/null +++ b/doc/en/registers.html @@ -0,0 +1,35 @@ + + + + + + KDbg - User's Manual - Register Dump + + +

Contents

+

+The Register Dump Window

+

Whenever the program stops, KDbg displays the contents of the CPU registers +in the register dump window. To display this window, choose View|Registers.

+

The registers are grouped by the kind of register. The window contains 3 columns:

+
    +
  1. +The column Register displays the register name.
  2. + +
  3. +The column Value displays the contents of the registers in a more +or less raw form. The raw form is usually displayed as hexadecimal numbers, +even the contents of floating point registers.
  4. + +
  5. +The column Decoded value displays the contents of the registers +in a decoded form. For arithmetic registers this is generally a signed +decimal value, floating point registers are displayed as floating point +numbers, the flag registers are sometimes decoded into named flags.
  6. +
+

By clicking the right mouse button a context menu is popped up which lets +you select how the value in the third column is displayed. +You can change the type to use for all registers of a group at once if you +choose the format for the group header.

+ + diff --git a/doc/en/sourcecode.html b/doc/en/sourcecode.html new file mode 100644 index 0000000..9d1bb7f --- /dev/null +++ b/doc/en/sourcecode.html @@ -0,0 +1,28 @@ + + + + + + KDbg - User's Manual - Source Code + + +

Contents

+

+The Source Code Window

+

The source code window is the main window and is always visible.

+

The source code window displays program source code. At the left of +each source line is an "active area". It displays a pointer to indicate +which source line the program currently executes, and it indicates on which +source lines breakpoints have been set.

+

New breakpoints can be set by clicking into the active area with the +left mouse button. An existing breakpoint can be enabled and disabled by +clicking with the middle mouse button.

+

The tiny plus '+' between the "active area" and the source line can +be clicked on. If you do so, the source line's assembler code will be displayed. +The plus turns into a minus '-', which, if clicked, will hide the disassembled +code.

+

Mostly, source code windows are opened automatically. To open a new +source file manually, click the right mouse button and choose Open Source +or choose File|Open Source.

+ + diff --git a/doc/en/stack.html b/doc/en/stack.html new file mode 100644 index 0000000..0db570b --- /dev/null +++ b/doc/en/stack.html @@ -0,0 +1,23 @@ + + + + + + KDbg - User's Manual - Stack + + +

Contents

+

+The Stack Window

+

The stack window is displayed using View|Stack. The stack window +lists the stack frames, i.e. the functions that the program has entered, +but not yet left.

+

The innermost frame (where the program currently executes) is shown +at the top.

+

To switch to a different stack frame, simply click on that stack frame. +The source window displays the source line +where the function invocation took place and the local +variables window and the watch window change +to reflect the local variables of the selected stack frame.

+ + diff --git a/doc/en/threads.html b/doc/en/threads.html new file mode 100644 index 0000000..3f0d7fb --- /dev/null +++ b/doc/en/threads.html @@ -0,0 +1,42 @@ + + + + + + KDbg - User's Manual - Threads + + +

Contents

+

+The Threads Window

+

The threads window is displayed using View|Threads. The threads +window lists the active threads of the program.

+

Note: Debugging threaded programs must be supported by +the version of gdb that is used - it is not a feature of KDbg. For Linux +systems this works best with gdb5 and later. However, at the time of this writing gdb +still poorly supports threads on NPTL- (New Posix Threads Library) enabled +systems (glibc 2.3.x and kernel 2.6.x).

+

The contents of the threads window are updated every time the program +is stopped by the debugger. (That is, the window does not reflect +the state while the program is running.)

+

The first column shows the thread ID, the second column identifies the +location where the thread currently executes.

+

The marker in front of the line tells which thread currently is active:

+ +

By clicking a listed thread, the active thread is switched, and the corresponding +windows are updated. In particular, the source +window displays the location where the active thread is currently halted.

+ + diff --git a/doc/en/tips.html b/doc/en/tips.html new file mode 100644 index 0000000..6a0292a --- /dev/null +++ b/doc/en/tips.html @@ -0,0 +1,47 @@ + + + + + + KDbg - User's Manual - Tips and Tricks + + +

Contents

+

+Tips and Tricks

+ + + + + diff --git a/doc/en/types.html b/doc/en/types.html new file mode 100644 index 0000000..6f233a3 --- /dev/null +++ b/doc/en/types.html @@ -0,0 +1,183 @@ + + + + + + KDbg - User's Manual - Type Tables + + +

Contents

+

+KDbg's Type Table

+

KDbg can display a short description of structured types, so +that it is not necessary to expand the variable in the local +variables window or watched expressions window. +The information which member variable is displayed is stored in type +tables. There is generally one type table per shared library.

+ +

KDbg's default type tables are located under $prefix/share/apps/kdbg/types. +User defined type tables can be placed in ${TDEHOME}/share/apps/kdbg/types, where +${TDEHOME} is ~/.kde if it is not a defined environment variable. +The file names end with .kdbgtt. Example: The type table for libtqt.so +is named qt.kdbgtt. +User defined type tables override the type tables provided by the system.

+

A type table file obeys the regular KDE configuration file syntax. The +file has the following groups:

+ +

In order to determine which type tables apply to the program being debugged +KDbg lists the shared libraries it is linked to. Then it matches the names +against the ShlibRE entries of all type tables. Those that match +are used. If a type appears in several type tables, it is unspecified which +one will be used.

+

KDbg's type recognition only works for libraries that are linked dynamically +to the program being debugged.

+

+The [Type Table] group

+

This group contains the following entries:

+ + +

In the case of regular types the names of types should follow the output of the +whatis gdb command less any const, spaces, or trailing +&. +If the type contains a a comma in its name, it must be escaped with a backslash. +But note that the comma should not be escaped in the type's group (which is described +in the next section). +

+

In the case of template types the name can be arbitrary because the type's group +will mention the template name and a type parameter list.

+ +

+The type's group

+

There is one group for each type that is named exactly as the type. At +the moment C++ template classes are not supported. Each group contains +the following entries:

+ +

Currently the number of expressions per type is limited to +5. This can easily be changed if it's too restrictive, but I recommend +not to go to that limit at all - it will slow down the debugging process.

+

KDbg recognizes a special extension that is used to display TQt 2.x's and TQt 3.x's +unicode strings: If an Exprx is prepended with /TQString::Data, +it is assumed that the result of the expression is a pointer to a TQString::Data. +The value displayed is the unicode string that this instance of TQString::Data +represents (which can be TQString::null if it is TQt's well-defined +null string or (null) if the unicode member is the null +pointer). See qt2.kdbgtt for examples.

+

Tip: It is not necessary to define derived types if they ought to be +treated the same as the base class - KDbg can deduce derived types and +uses the type specification of the (leftmost) base class. You can use the +Alias +entry to quickly specify that a type should be treated like a non-leftmost +base class for a multiple-inheritance class.

+

+An example

+

The example shows how TQString and TQRect are defined +in qt3.kdbgtt. Furthermore, the template type TQValueVector +is defined. This example applies to TQt 3.x, which is located in shared library +whose name ends in libtqt-mt.so.3.

+
[Type Table]
+Types1=TQString,TQRect
+Types2=TQValueVector
+LibDisplayName=libtqt 3.x
+ShlibRE=libtqt-mt\.so\.3$
+EnableBuiltin=TQString::Data,TQCharIsShort
+
+[TQString]
+Display={ % }
+Expr1=/TQString::Data (%s).d
+
+[TQValueVector]
+Template=TQValueVector<*>
+Display={ size=% shared=% capacity=% }
+Expr1=($tmp=(%s).sh)->finish-$tmp->start
+Expr2=(%s).sh->count
+Expr3=($tmp=(%s).sh)->end-$tmp->start
+
+[TQRect]
+Display={ tl=(%,%) br=(%,%) }
+Expr1=(%s).x1
+Expr2=(%s).y1
+Expr3=(%s).x2
+Expr4=(%s).y2
+

This example shows these features:

+ + + diff --git a/doc/en/watches.html b/doc/en/watches.html new file mode 100644 index 0000000..395cc61 --- /dev/null +++ b/doc/en/watches.html @@ -0,0 +1,28 @@ + + + + + + KDbg - User's Manual - Watched Expressions + + +

Contents

+

+The Watched Expressions Window

+

The watched expressions window is opened using View|Watched Expressions. +It displays arbitrary expressions.

+

To add an expression, type it into the edit field and press Enter or +click Add. To remove an expression, click on it (choose the root +of the expression) and click Del.

+

You can also move a variable or structure member from the local +variables window to this window using the context menu in the local +variables window.

+

The values of most expressions can be changed. For this purpose, press F2 +while the input focus is in the window. Then edit the value and hit Enter. +Note that you cannot modify the strings that char* values point +to in this way, just the pointer value.

+

Watched expressions are stored across debugging sessions. It is recommended +that you remove expressions that your don't need any longer because that +speeds up the debugging process.

+ + diff --git a/doc/en/xslt.html b/doc/en/xslt.html new file mode 100644 index 0000000..fdc5ec3 --- /dev/null +++ b/doc/en/xslt.html @@ -0,0 +1,24 @@ + + + + + + KDbg - User's Manual - Debugging XSLT scripts + + +

Contents

+

Debugging XSLT scripts

+

KDbg allows to debug XSLT (XML stylesheet translation) scripts using +xsldbg, which must be available +on your system.

+

Specifying the script and an XML file to transform

+

XSLT mode is automatically entered if a "program" is loaded +that has a file name that ends in .xsl. In addition, the +command line option -l XSL can be +specified to explicitly choose this mode.

+

To debug an XSLT script it is necessary to specify an XML data file +that the script can transform. This is done in the +Program Arguments dialog, where the XML +file is specified in the Program Arguments edit box.

+ + diff --git a/doc/man/kdbg.1 b/doc/man/kdbg.1 new file mode 100644 index 0000000..588ef94 --- /dev/null +++ b/doc/man/kdbg.1 @@ -0,0 +1,92 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH KDBG 1 "March 25, 2005" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +kdbg \- a graphical debugger interface +.SH SYNOPSIS +.B kdbg +[ \fIgeneric-options\fP ] +[ \fB\-t\fP \fIfile\fP ] [ \fB\-r\fP \fIdevice\fP ] +[ \fB\-l\fP \fIlanguage\fP ] [ \fB\-p\fP \fIpid\fP ] +[ \fIprogram\fP ] [ \fIcore\fP ] +.SH DESCRIPTION +\fBKDbg\fP is a graphical user interface to \fBgdb\fP, the GNU debugger. It +provides an intuitive interface for setting breakpoints, inspecting +variables, stepping through code and much more. KDbg requires TDE but +you can of course debug any program. +.PP +KDbg can also debug XSLT (XML stylesheet translation) scripts by +interfacing with \fBxsldbg\fP. Debian users must install the \fIkxsldbg\fP +package to make use of this feature. +.PP +You can pass KDbg the path of the executable to debug (\fIprogram\fP) or +a core dump to debug (\fIcore\fP). +.PP +Features of KDbg include: +.PP +.RS +Inspection of variable values in a tree structure. +.PP +Direct member: For certain compound data types the most important +member values are displayed next to the variable name, so that it is +not necessary to expand the subtree of that variable in order to see +the member value. KDbg can also display Qt's QString values, which +are Unicode strings. +.PP +Debugger at your finger tips: The basic debugger functions (step, +next, run, finish, until, set/clear/enable/disable breakpoint) are +bound to function keys F5 through F10. Quick and easy. +.PP +View source code, search text, set program arguments and environment +variables, display arbitrary expressions. +.PP +Debugging of core dumps, attaching to running processes is possible. +.PP +Conditional breakpoints. +.RE +.SH OPTIONS +Below are the kdbg-specific options. +For a full summary of options, run \fIkdbg \-\-help\fP. +.TP +\fB\-t\fP \fIfile\fP +Write a transcript of the conversation with the debugger to the given +file. +.TP +\fB\-r\fP \fIdevice\fP +Use remote debugging via the given device. +.TP +\fB\-l\fP \fIlanguage\fP +Specify the language of the program/script to debug. +This must be either \fIC\fP (for a C/C++ program) or +\fIXSL\fP (for an XSLT script). +If this option is not passed then KDbg will try to deduce the language +from the given filename. +.TP +\fB\-p\fP \fIpid\fP +Attach to the process with the given process ID. +.SH SEE ALSO +.BR gdb (1), +.BR xsldbg (1). +.PP +Full user documentation is available through the TDE Help Centre. +Alternatively the HTML documentation can be viewed directly from +\fI/opt/trinity/share/doc/tde/HTML//kdbg/\fP. +.SH AUTHOR +KDbg was written by Johannes Sixt . +.br +This manual page was prepared by Ben Burton +for the Debian GNU/Linux system (but may be used by others). diff --git a/doc/ru/argspwdenv.html b/doc/ru/argspwdenv.html new file mode 100644 index 0000000..9108a91 --- /dev/null +++ b/doc/ru/argspwdenv.html @@ -0,0 +1,43 @@ + + + + + + KDbg - Руководство Пользователя - Аргументы, Окружение + + +Содержание +

Указание аргументов программы, рабочего каталога, переменные окружения

+Выберите пункт меню Исполнение|Аргументы для вызова диалогового окна, в +котором вы сможете установить аргументы отлаживаемой программы, ее рабочий +каталог и переменные окружения. +

+Аргументы программ

+В самой верхней строке ввода укажите аргументы командной строки, которые должны +быть переданы программе. Эти аргументы будут использованы при следующием +запуске программы. +

+Рабочий каталог

+Ниже расположена строка ввода, в которой вы можете указать рабочий каталог +программы. Программа будет работать в указанном каталоге при следующем запуске. +

Рабочий каталог также действует и для gdb! Указанный вами каталог будет +немедленно передан gdb и вступит в силу как только вы нажмете OK. Это +может повлиять на поиск файлов исходных текстов. +

+Переменные окружения

+В секции переменных окружения введите выражение в виде VARIABLE=value +для установки переменной окружения VARIABLE в значение value +и кликните на кнопку Изменить. Для удаления переменной, выберите ее в +списке и кликните на кнопку Удалить. Для изменения значения переменной, +выберите ее из списка, отредактируйте ее значение в поле редактирования и +кликните по кнопке Изменить. Если вы измените имя переменной и кликните +по кнопке Изменить, то вы добавите новую переменную! Новые переменные +окружения будут использованы вашей программой при следующем запуске. +

Если в Linux вы используете библиотеку glibc2, то вам необходимо установить +переменную окружения LD_BIND_NOW. Очень важно, чтобы вы установили +значение этой переменной в 1 для всех сессий отладки. Если она не +будет установлена, то gdb не сможет осуществлять пошаговую отладку (в и из) +системных функций, импортируемых из разделяемых библиотек libc и +остальных. + + diff --git a/doc/ru/breakptlist.html b/doc/ru/breakptlist.html new file mode 100644 index 0000000..b3007b3 --- /dev/null +++ b/doc/ru/breakptlist.html @@ -0,0 +1,68 @@ + + + + + + KDbg - Руководство Пользователя - Список точек останова + + +Содержание +

Список точек останова

+Список точек останова отображает все установленные точки останова и просмотра и +позволяет манипулировать ими. Он может быть вызван посредством пункта меню +Вид|Точки останова. +

Перечень точек останова

+Для каждой точки останова отображается следующее: +
    +
  • местонахождение точки останова,
  • + +
  • счетчик остановок на этой точке,
  • + +
  • счетчик пропусков точки останова, если указан,
  • + +
  • условие останова, если указно.
  • +
+Иконка напротив записи указаывает состояние точки останова: включена - красная +точка, выключена - светло-красная точка, временная точка останова - маленькие +часы или условная точка останова - маленький знак вопроса. +

Точки просмотра обозначаются иконкой лупы напротив соответствующей записи. +

Управление точками останова

+Необходимо отметить, что точками останова и просмотра +невозможно управлять во время работы программы. Если программа уже запущена, +необходимо, чтобы она остановилась либо попав в точку останова, либо +принудительно посредством вызова пункта меню Исполнение|Прервать. +Это не завершит исполнение программы, а всего лишь остановит ее. Теперь вы +можете управлять точками останва, после чего выберите пункт +Исполнение|Продолжить для продолжения исполнения программы. +

Для установки точки останова на определенную строку исходного текста самым +простым способом является установка ее в окне исходных текстов. Если вы не +знаете имени файла и номера строки, где находится интересующая вас функция, вы +просто можете ввести ее имя в строке ввода над списком и кликнуть на кнопку +Добавить Точку Останова. +

Вы можете включать и выключать точки останова, выбрав их в списке, а затем +кликнув на кнопки Включить или Выключить. Или просто кликните +средней кнопкой мыши по нужному элементу списка - вы будете включать и +выключать их так же, как и в окне исходных текстов. +

Вы можете установить условие срабатывания точки останова или установить +счетчик пропусков этой точки, показывающий количество проходов, при которых не +будет произведен останов. Для этого кликните на кнопку Условия и введите +условие и/или счетчик пропусков. +

Управление точками просмотра

+Точки просмотра похожи на точки останова, за исключением того, что прерывание +происходит только при изменении значения содержимого памяти. Также как и точки +останова, точками просмотра нельзя управлять во время исполнения программы. +Подробнее см. выше. +

Для установки точки просмотра, введите выражение в строку ввода над списком +и кликните на кнопку Добавить Точку Просмотра. Программа остановится при +изменении значения выражения. Необходимо отметить, что точки просмотра, +использующие локальные переменные, могут быть установлены только когда +программа прервана в точке останова (или принудительно посредством вызова +пункта меню Исполнение|Прервать). +

Для удаления точки просмотра, выберите ее из списка и кликните на кнопку +Удалить. Если выражение использует локальные переменные, то точка +просмотра будет удалена автоматически при выходе программы из данной области +стека (функции). +

Вы также можете установить для точек просмотра условия и счетчик пропусков, +выбрав его из списка и кликнув на кнопку Условия. + + diff --git a/doc/ru/globaloptions.html b/doc/ru/globaloptions.html new file mode 100644 index 0000000..c82a73d --- /dev/null +++ b/doc/ru/globaloptions.html @@ -0,0 +1,72 @@ + + + + + + KDbg - Руководство пользователя - Глобальные Переменные + + +Солдержание +

+Далоговое окно Глобальных Переменных

+Для установки некоторых глобальных переменных можно использовать +Файл|Глобальные Переменные. Вы можете установить: +
    +
  • +команду, с помощью которой вызывается gdb,
  • + +
  • +команду, которая открывает терминал для вывода программы,
  • + +
  • +должен ли KDbg переходить в обыкновенный режим после остановки программы и +через какой промежуток времени он опять перейдет в фоновый режим,
  • + +
  • +размер табуляции.
  • +
+ +

+Как вызывать gdb

+ +
Если вы используете различные версии gdb, нужно указать +их в Как вызывать gdb. По умолчанию используется +форма gdb --fullname +--nx. Проверьте, указаны ли данные опции, +если вы изменили исполняемый модуль gdb. Если вы пропустите их, KDbg не +будет работать. Если вы испортили запись, ее можно очистить, переведя +в значения по умолчанию.
+ +

+Как вызвать эмулятор терминала

+ +
Если вы хотите испотльзовать различные терминальные программы +для показа вывода программы, укажите их в +Терминалы для вывода программ. Значение по умолчанию – +xterm -name kdbgio -title %T -e sh -c %C. +В данной записи, +%T заменяется титульной строкой, %C +заменяется скриптом командного интерпретатора Борна, который будет циклически +вызываться, пока не произойдет закрытия терминального окна. +(Скрипт использует в цикле sleep +3600). Альтернави\ой данных установок может служить +konsole --name kdbgio --caption %T -e sh -c %C.
+ +

+Переход в обычный режим

+ +
Вы можете указать KDbg окну перевестись в обычный режим, +когда отлаживаемая программа завершится (в точке останова или по сигналу). +Иначе окно KDbg не активируется (по крайней мере в KWM &150; оконном менеджере +KDE). Некоторым пользователям такое поведение может показатся навязчивым, +поэтому по умолчанию данная опция отключена. +
+ +
Если опция включена, KDbg переключится в фоновый режим, если +программа будет продолжена, но только по прошествии заданного временного +промежутка. Это сделано для того, чтобы окно отладчика не переключалось +все время, когда используется пошаговое исполнение программы. +
+ + + diff --git a/doc/ru/howdoi.html b/doc/ru/howdoi.html new file mode 100644 index 0000000..1549702 --- /dev/null +++ b/doc/ru/howdoi.html @@ -0,0 +1,78 @@ + + + + + + KDbg - Руководство пользователя - Как я могу...? + + +Содержание +

+Как я могу...?

+ +

+... установить точки останова?

+Существует несколько способов: +
    +
  • Нажатием левой клавиши мыши в окне исходного текста в "активной области", +находящейся слева от строки исходного текста.
  • + +
  • Выбрать строку в окне исходного текста и выбрать опцию +меню Точки останова.
  • + +
  • Вы можете воспользоватся списком точек останова.
  • +
+Если вы не можете установить точки останова, возможно программа работает +в данный момент. Когда программа работает, установка точек останова невозможна. +Остановите программу с помощью Выполнение|Прервать. Если +вы по-прежнему не можете установить точку останова, проверьте, скомпилирована +и собрана ли ваша программа с поддержкой информации для отладки. +

... установить значение глобальной переменной или какого-либо выражения?

+Используйте окно Просмотра. +

+... установить точку просмотра?

+Точки просмотра устанавливаются в списке +точек останова. +

+... использовать дамп памяти?

+Сначала необходимо загрузить исполняемый модуль, используя меню +Файл|Исполняемый модуль, затем указать соответствующий дамп памяти, +используя Файл|Дамп Памяти. +

+... отлаживать программу, содержащую бесконечный цикл?

+Запустите программу и подождите, пока она войдет в бесконечный цикл. +Переключитесь в KDbg и выберите Выполнение|Прервать. +Далее можно использовать отладочные средства. +

+... сделать так, чтобы программа определенное количество раз игнорировала +точку останова во время прохода до того, как начнет прерываться?

списке точек останова выберите точку +останова; нажмите Условная и укажите количество раз для пропуска +точки останова в поле Число пропусков. +

+... установить переменную среды для исполнемого модуля?

+Выберите Выполнение|Аргументы и укажите переменные среды в +диалоге аргументов программы. +

+... установить рабочий каталог для исполняемого модуля?

+Выберите Выполнение|Аргументы и укажите рабочий каталог в +диалоге ургументов программы. +

+... избавиться от терминального окна?

+Выберите Файл|Настройки и перейдите на меню +Вывод. +Выберите Только вывод, простая эмуляция терминала и нажмите +OK. +Теперь перезапустите программу (выберите ее из списка +Файл|Последний исполняемый модуль). Вывод программы теперь перенаправлен +в созданное окно вывода, а в качестве +стандартного потока ввода используется /dev/null. +

Вы должны произвести данную операцию для каждой новой отлаживаемой +программы. +

Важно:Вы не должны делать этого, если программа +читает данные со стандартного потока ввода (обычно терминала) или +ее вывод требует более интеллектуальной эмуляции терминала (то есть +не только возврата каретки и прогона строки). Окно вывода не +поддерживает ввод и эмуляцию терминала. + + diff --git a/doc/ru/index.html b/doc/ru/index.html new file mode 100644 index 0000000..08e0d88 --- /dev/null +++ b/doc/ru/index.html @@ -0,0 +1,177 @@ + + + + + + KDbg - Руководство Пользователя + + + +

KDbg - Руководство пользователя

+ +

Содержание

+ + + +
+

+Введение

+KDbg является графическим интерфейсом к gdb, отладчиком проекта GNU. +

Это означает, что KDbg сам по себе не является отладчиком. Скорее, он +общается с gdb, отладчиком, использующим командную строку, посылая ему +команды и получая их результат, например, значения переменных. Пункты меню и +указания мышью преобразуются в последовательность команд gdb, а +результат преобразуется к более-менее визуальному представлению, такому как +структурное содержимое переменных. +

Обобщение выше сказанного - KDbg целиком зависит от возможностей +используемого отладчика gdb. KDbg не может делать больше, чем делает +gdb. Например, если имеющаяся у вас версия gdb не +поддерживает отладку многопоточных программ, то и KDbg не поможет вам в этом +(несмотря на то, что он выводит окно потоков). + +

+Использование KDbg

+Перед началом использования KDbg вы наверное захотите просмотреть опции в +диалоге Глобальные Опции, который можно +вызвать из пункта меню Файл|Глобальные Опции. +

Указание отлаживаемой программы

+Для отладки программы выберите пункт меню Файл|Исполняемые модули. Если +вы ранее отлаживали эту программу, вы можете выбрать ее из пункта +Файл|Последние Исполняемые Модули. Программа загрузится. +

Если вы хотите произвести отладку по дампу памяти, то сначала вы должны +загрузить программу, породившую этот дамп, а потом загрузить сам дамп, выбрав +пункт меню Файл|Дамп Памяти. Теперь KDbg перейдет в ту точку программы, +которая вызвала создание дампа памяти. +

Теперь вы можете устанавливать точки останова, ипользуя меню +Breakpoint, меню, вызваемое правой кнопкой мышы, или +окно точек останова. +

Также вы можете установить настройки только для отлаживаемой в данный момент +программы в диалоге Настройки Программы, +вызываемом пунктом меню Файл|Настройки. + +

Исполнение программы

+Теперь запустите программу, выбрав пункт меню Исполнение|Запуск. Теперь +программа будет исполняться обычным образом до тех пор, пока она либо не +окончится, либо не попадет в точку останова или точку просмотра, либо не +получит сигнал. +

Вы можете запустить программу с аргументами, установить рабочий каталог, а +также переменные окружения для данной программы. Для этого выберите пункт меню +Исполнение|Аргументы и укажите ваши параметры в диалоге +Аргументы Программы (перед запуском программы). +

Вы также можете подключиться к уже работающей программе. Для этого загрузите +исполняемый модуль, как описано выше. Затем выберите пункт меню +Исполнение|Подсоединиться. Укажите идентификатор процесса и кликните на +OK. Работающая программа будет остановлена (но не прервана), а в окне +исходных текстов будет указана текущая точка останова. + +

Программа остановлена - что теперь?

+Когда программа останавливается в точке останова, просмотра или при получении +сигнала, в окне исходных текстов указывается +текущая строка остановки программы. Часто встречается ситуация, когда программа +останавливается, получая сигнал (обычно SIGSEGV), находясь в функции, +которую вы вызываете из своей программы, но сами не разрабатывали. В этом +случае просмотрите окно стека и найдите функцию, +которую писали вы (начиная с вершины списка) и кликните на нее. Это укажет вам +место, с которого вы сможете начать поиск ошибки в вашей программе. +

В меню Исполнение вы найдете команды, которые вам понадобятся для +запуска программы, пошаговой отладке, прерывания исполнения программы +(Прерывание). Важные команды, такие как Запуск и все виды +Шагов, привязаны к функциональным клавишам, которыми рекомендуется +пользоваться для повышения эффективности отладки. +
Эти функции не настраиваются, но может вы захотите внести +свой вклад и разработать эту функциональность? +

В меню Точки останова вы найдете команды для установки, снятия, +включени и выключения временных и постоянных точек останова. Вы можете вывести +список точек останова в окно точек останова. +Вы также может установить точку останова, кликнув левой кнопкой мыши в левое +поле строки исходного текста. Для включения и выключения точки останова +кликните средней кнопкой мыши на точку останова. +

Шестеренка на панели инструментов показывает, что gdb работает, в этом +случае она вертится. Когда она вертится быстро, KDbg не будет принимать +команды исполнения, а если она вращается медленно, то KDbg считывает значения +переменных. +

+Информационные окна KDbg

+KDbg выводит информацию и принимает команды в различных окнах. В меню +Вид вы обнаружите команды для вызова и закрытия этих окон. Все эти окна +вы можете размещать так, как вам удобно. + + + +

+Советы и пр.

+Следующие разделы содержат полезные сведения об использовании KDbg. + + +

+Известные проблемы

+gdb 4.16 имеет проблемы с обработкой классов С++ с виртуальным базовым классом. +(Такие классы обычно встречаются в программах, использующих CORBA.) Он +прерывается по ошибке сегментации, а KDbg сообщает о том, что gdb неожиданно +завершился. К сожалению, с этим ничего нельзя сделать. Вам придется +перезапустить gdb, выбрав пункт меню Файл|Исполняемый модуль, который +перезапустит сессию отладки. +

Распознавание типов в KDbg работает только для библиотек, динамически +линкуемых с отлаживаемой программой. + +

+Автор

+KDbg разработан Johannes Sixt +с помощью многих остальных. +
Домашняя страница KDbg расположена по адресу +http://www.kdbg.org/. + + diff --git a/doc/ru/localvars.html b/doc/ru/localvars.html new file mode 100644 index 0000000..31b9a8b --- /dev/null +++ b/doc/ru/localvars.html @@ -0,0 +1,19 @@ + + + + + + KDbg - Руководство Пользователя - Локальные Переменные + + +Содержание +

Окно Локальных Переменных

+Окно локальных переменных вызывается выбором пункта меню Вид|Локальные. +Данное окно отображает содержимое локальных переменных, определенных +указанной текущей областью стека (stack frame). +

Отображаемый набор локальных переменных определяется областью стека (stack +frame), выбранной в окне стека. +

Значения переменных, изменивщихся между остановами программы, отображаются +красным цветом. + + diff --git a/doc/ru/memory.html b/doc/ru/memory.html new file mode 100644 index 0000000..e8ba057 --- /dev/null +++ b/doc/ru/memory.html @@ -0,0 +1,26 @@ + + + + + + KDbg - Руководство пользователя - Образ памяти + + +Содержание +

Окно образа памяти

+Чтобы отобразить окно образа памяти нужно выбрать Вид|Память. +Оно выводит содержимое памяти программы по любым адресам. +

Для просмотра содержимого памяти, введите нужный адрес в поле редактирования. +Адрес не обязательно должен задаваться в шестнадцатеричной форме и может +задаваться выражением. +

Вы можете определить формат отображения содержимого памяти с помощью +выбора соответствующих опций из выпадающего меню, которое вызывается +нажатием правой клавиши мыши. +

Адресные выражения запоминаются и впоследствии могут быть +вызваны из выпадающего списка. Обратите внимание, что адресные выражения +запоминаются вместе с их форматом. +

Если вы не собираетесь исследовать содержимое памяти, рекомендуется +очистить выражение таким образом, чтобы содержимое памяти не выводилось +– это увеличит скорость процесса отладки. + + diff --git a/doc/ru/pgmoutput.html b/doc/ru/pgmoutput.html new file mode 100644 index 0000000..2a17c69 --- /dev/null +++ b/doc/ru/pgmoutput.html @@ -0,0 +1,43 @@ + + + + + + KDbg - Руководство Пользователя - Вывод Программы + + +Содержание +

Окно Вывода Программы

+Окно вывода программы можно вызвать, выбрав пункт меню Вид|Вывод. В это +окно выводятся стандартные потоки вывода и диагностики отлаживаемой программы. +

Оно не позволяет вводить какие-либо данные в программу и реализует лишь +минимальную эмуляцию терминала: \n (перевод строки) преобразуется в +комбинацию начало строки-перевод строки, а \r (начало строки) +игнорируется. Этих возможностей обычно предостаточно для отладки GUI программ, +которые выводят отладочные сообщение в стандартные потоки вывода или +диагностики. +

Когда программа отлаживается первый раз, окно вывода программы не +неиспользуется. Ведь KDbg не знает, достаточно ли программе столь +ограниченных возможностей или же она ожидает ввода с терминала. Поэтому по +умолчанию используется штатный эмулятор терминала. Для перенаправления вывода +программы в окно вывода необходимо проделать следующие шаги: +

    +
  1. +Вызвать диалоговое окно Настройки посредством +пункта меню Файл|Настройки.
  2. + +
  3. Выбрать закладку Вывод.
  4. + +
  5. Выбрать Только вывод, простой эмулятор терминал и кликнуть на +кнопку OK.
  6. + +
  7. Перезагрузить программу из списка Файл|Последние Исполняемые Модули.
  8. +
+Для очистки содержимого окна выберите пункт Очистить в всплывающем меню, +вызываемом нажатием правой кнопки мыши в этом окне. +

Если последняя строка окна заполнена текстом, то окно прокручивается +автоматически таким образом, что последняя строка всегда остается видимой при +поступлении новых сообщений. Если вы прокрутите окно, то отображаемая позиция +не изменится. + + diff --git a/doc/ru/pgmsettings.html b/doc/ru/pgmsettings.html new file mode 100644 index 0000000..ca14b4b --- /dev/null +++ b/doc/ru/pgmsettings.html @@ -0,0 +1,73 @@ + + + + + + KDbg - Руководство Пользователя - Настройки Программ + + +Содержание +

Диалог Настройки Программ

+В этом диалоге можно указать настройки конкретной программы. Для его вызова +выберите пункт меню Файл|Настройки. Данные настройки будут применены +только к текущей отлаживаемой программе и будут сохранены между сессиями ее +отладки. +
Важное замечание: Настройки будут применены только +при следующей загрузке исполняемого модуля в KDbg. Это означает, что после +нажатия на OK вы должны перезагрузить исполняемый модуль с помощью +пункта меню Файл|Исполняемые модули!!
+ + + +

+Отладчик

+В этом разделе вы можете указать отладчик, которым будете отлаживать программу. +

Как вызвать GDB

+ +
Введите команду для вызова gdb. Оставьте это поле пустым для вызова +gdb по умолчанию, указанного в +глобальных опциях. Если вы занимаетесь +кросс-компиляцией и удаленной отладкой, то вы наверное захотите использовать +другой gdb, более подходящий для конкретной платформы. По умолчанию вызывается +gdb --fullname --nx. Не забудьте указать данные опции при изменении +используемого отладчика. Если вы их не укажите, KDbg не будет работать. +
+ +

+Вывод

+В этом разделе вы можете указать степень эмуляции терминала, в которой будет +работать программа. +

Нет ввода и вывод

+ +
Отметьте эту опцию, если ваша программа не получает входных данных +с терминал и вы не хотите видеть то, что она выводит в стандартные потоки +вывода и диагностики. Все стандартные потоки (stdin, stdout и +stderr) перенаправляются в /dev/null.
+ +

Только вывод, простая эмуляция терминала

+ +
Отметьте эту опцию, если ваша программа не получает входных данных +с терминала (stdin будет перенаправлен в /dev/null), а вывод +(stdout и stderr) не требует сложной эмуляции терминала. +Вывод будет отображаться в окне выовда. + +
Важно: Встроенный эмулятор терминала интерпретирует только символ +новой строки \n (ASCII 10) в перевод строки. Он не обрабатывает +символ перевода каретки \r (ASCII 13). Этого вполне достаточно для +отображения простых отладочных сообщений, которые обычно используются +разработчиками программ, использующих графический интерфейс.
+ +

Полная эмуляция терминала

+ +
Отметьте эту опцию, если ваша программа получает данные из +stdin, или вывод в stdout or stderr требует полной +эмуляции терминала. В этом случае будет использован эмулятор терминала, +указанный в глобальных опциях.
+ + diff --git a/doc/ru/registers.html b/doc/ru/registers.html new file mode 100644 index 0000000..eb5c216 --- /dev/null +++ b/doc/ru/registers.html @@ -0,0 +1,31 @@ + + + + + + KDbg - Руководство Пользователя - Содержимое регистров + + +Содержание +

Окно Содержимого Регистров

+Всякий раз, когда происходит останов программы, +KDbg выводит содержимое регистров ЦПУ в соответсвующем окне. Для того, чтобы +отобразить данное окно, выберите Вид|Регистры. +

Окно содержит 3 колонки: +

    +
  1. Колонка Регистр выводит имя регистра.
  2. + +
  3. Колонка Значение выводит содержимое регистров в более или менее +необработанном формате. Необработанный формат обычно выводит шестнадцатеричное +значение, даже для содержимого регистров с плавающей точкой.
  4. + +
  5. Колонка Декодированное значение выводит содержимое регистров +в декодированной форме. Для арифметических регистров это +обычно знаковое десятичное значение, для регистров с плавающей точкой +– число с плавающей точкой, регистры флагов декодируются в имена +флагов.
  6. +
+С помощью правой клавиши мыши можно вызвать меню, которое позволяет +установить формат значений во второй колонке. + + diff --git a/doc/ru/sourcecode.html b/doc/ru/sourcecode.html new file mode 100644 index 0000000..fba5f3b --- /dev/null +++ b/doc/ru/sourcecode.html @@ -0,0 +1,31 @@ + + + + + + KDbg - Руководство пользователя - Исходный Текст + + +Содержание +

Окно Исходного Текста

+Данное окно является главным и всегда отображается. +

Окно исходного текста содержит исходный текст программы. Слева от +каждой строки текста находится "активная область". Она содержит +указатель на строку исходного текста, которая выполняется в текущий момент +времени, а также указывает те строки исходного текста, которые содержат +точки останова. +

Новые точки останова устанавливаются нажатием левой клавиши мыши в +"активной области". Существующая точка останова может быть активирована +или дезактивирована с помощью средней клавиши мыши. +

Может быть нажат знак плюса '+' между "активной областью" и строкой +исходного текста. Это приведет к выводу ассемблерного кода для данной +строки. Чтобы скрыть ассемблерный код, необходимо +нажать клавишу '-'. +

Обычно окна исходного текста открываются автоматически. Чтобы +открыть файл с исходным текстом вручную, нужно нажать правую +кнопку мыши и выбрать Открыть исходный текст или +выбрать Файл|Открыть исходный текст. +

Для переключения между несколькими файлами с исходными текстами, +выберите нужный файл в меню Окно. + + diff --git a/doc/ru/stack.html b/doc/ru/stack.html new file mode 100644 index 0000000..082ba9b --- /dev/null +++ b/doc/ru/stack.html @@ -0,0 +1,23 @@ + + + + + + KDbg - Руководство Пользователя - Стек + + +Содержание +

Окно Стека

+Окно стека вызывается выбором пункта меню Вид|Стек. Окно стека содержит +списки областей стека (stack frames), например, функции, которые были вызваны, +но еще не завершились. +

Самая внутренняя (вложенная) область (место текущего исполнения программы) +находится в самом верху списка. +

Для переключения на другую область стека, просто выберите эту область +мышкой. Окно исходных текстов отображает строки +исходных текстов, которые исполняются программой в текущий момент, а +окно локальных переменных и +окно отслеживаемых выражений изменяются, отображая +локальные переменные выбранной области стека. + + diff --git a/doc/ru/threads.html b/doc/ru/threads.html new file mode 100644 index 0000000..674c309 --- /dev/null +++ b/doc/ru/threads.html @@ -0,0 +1,38 @@ + + + + + + KDbg - Руководство Пользователя - Потоки + + +Содержание +

Окно Потоков

+Окно потоков можно вывести, выбрав пункт меню Вид|Потоки. В окне потоков +отображается список активных потоков программы. +

Замечание: Отладка многопоточных программ должна +поддерживаться используемой версией gdb - это не является функцией KDbg. Для +Linux-систем лучше использовать gdb5. +

Содержимое окна потоков обновляется при каждой остановке программы +отладчиком. (Т.е. в окне не отображается состояние потоков во время +работы программы.) +

Первая колонка отображает идентификатор потока, вторая указывает на текущее +место исполнения данного потока. +

Маркер напротив одной из строк указывает на текущий активный поток: +

+Если кликнуть на другой поток в списке, то он станет активным и соответственно +будет изменено содержимое других окон. В частности, +окно исходных кодов отобразит место, где текущий +поток был остановлен. + + diff --git a/doc/ru/tips.html b/doc/ru/tips.html new file mode 100644 index 0000000..7739496 --- /dev/null +++ b/doc/ru/tips.html @@ -0,0 +1,43 @@ + + + + + + KDbg - Руководство Пользователя - Полезные Советы + + +Содержание +

Полезные Советы

+ +
    +
  • Всегда устанавливайте переменную окружения LD_BIND_NOW=1 в +системах, использующих библиотеку glibc2. + +Установка переменных окружения описана +здесь.
  • + +
  • Вы можете использовать точки останова, как закладки: просто установите +точку останова и выключите ее. Позже вы сможете возвратиться к этой точке, +кликнув на нее два раза в списке точек останова (или просто выбрав ее и кликнув +на кнопку Просмотреть Исходный Код). Т.к. точки останова являются +постоянными (т.е. KDbg запоминает их расположение и восстанавливает в следующей +сессии), то при вызове вашей программы на отладку в следующий раз все точки +останова будут на месте. +
  • + +
  • Вы можете изменять значения переменных программы: в окне просмотра +переменных (внизу справа) введите присвоение var.member=17 и кликните +по кнопке Добавить. Это приведет к немедленному изменению значения +переменной. Теперь вам необходимо удалить это выражение из списка (выбрав +его и кликнув на кнопку Удалить). Это необходимо потому, что просмотр +выражений осуществляется при каждом останове программы и этой переменной будет +присваиваться тоже значение снова и снова!
  • + +
  • Вы можете выводить значение переменных в окно просмотра в разных форматах, +используя модификаторы gdb перед указанием выводимой переменной. Например, +/x var.member выведет значение var.member в шеснадцатеричном +виде.
  • +
+ + + diff --git a/doc/ru/types.html b/doc/ru/types.html new file mode 100644 index 0000000..6cb8453 --- /dev/null +++ b/doc/ru/types.html @@ -0,0 +1,126 @@ + + + + + + KDbg - Руководство Пользователя - Таблицы Типов + + +Содержание +

Таблица Типов KDbg

+KDbg может отображать содержимое отдельно взятых членов структурированных типов +данных, таким образом отсутствует необходимость в раскрытии переменных в +окне локальных переменных или в +окне отслеживаемых выражений. Информация о том, +переменная какого члена отображается, хранится в таблицах типов. Обычно +существует одна таблица на разделяемую библиотеку. +

Таблицы типов KDbg расположены в каталоге +$TDEDIR/share/apps/kdbg/types. Имена файло таблиц оканчиваются на +.kdbgtt. Например, таблица типов для libtqt.so называется +qt.kdbgtt. +

Файлы таблиц типов соответствуют стандартному синтаксису файлов конфигурации +KDE. Файл содержит следующие группы: +

    +
  • +Группу [Type Table], в которой перечислены типы и информация о том, +как отладчик может определить, слинкована ли программа с этой библиотекой.
  • + +
  • Группу на каждый прописанный тип, в которой содержится информация о том, +как KDbg должен отображать данный тип.
  • +
+Для определения таблиц типов, применимых к отлаживаемой программе, KDbg +запрашивает список разделяемых библиотек, с которыми слинкована программа. +Затем он осуществляет поиск имен этих библиотек в таблицах типов в элементах +ShlibRE. Используются те таблицы, в которых были найдены +соответствующие имена библиотек. Если тип появляется в нескольких таблицах, то +неопределено, какое же из описаний будет выбрано. +

Группа [Type Table]

+Эта группа содержит следующие элементы: +
    +
  • +Types1, Types2, и тд. Эти элементы являются именами типов. +Каждый из них представляет собой разделенный запятыми список имен типов. В +каждом элементе может быть перечислено любое количество типов. (Имена типов +можно разбить на несколько строк, чтобы они строки не получались слишком +длинными.) В этих строках недопустимы символы пробела. Элементы должны +нумероваться последовательно (KDbg прекращает чтение на первом же пропуске), +однако элементы могут быть пусты (т.е. вообще не содержать типов). Иногда +порядок перечисления имен имеет значение (см. пример с Alias ниже). +
  • + +
  • +ShlibRE. KDbg использует этот элемент для определения, использовать +ли данную таблицу к текущей отлаживаемой программе. Для этого KDbg определяет +разделяемые библиотеки, используемые программой. Если хотя бы одна из них +совпадает со значением этого элемента, таблица используется. Используемые +регулярные выражения совпадают с регулярными выражениями TQt (метасимволы +.*?[]^$\ распознаются обычным образом, однако отсутсвует возможность +группировать символы.)
  • + +
  • +LibDisplayName. Этот элемент используется в списках, в которых +доступные таблицы типов перечислены для указания данной таблицы типов.
  • + +
    На данный момент это не используется.
+ +

Группа типа

+На каждый заявленый тип должна быть заведена группа, названная именем типа. +На данный момент шаблоны С++ не поддерживаются. +Каждая группа содержит следующие элементы: +
    +
  • +Display указывает, как KDbg должен отображать значение этого типа. +Строка может содержать от 1 до 5 символов '%'. Они заменяются на +результаты выражений, описанных в элементах Exprx.
  • + +
  • Один или более Expr1, Expr2, и тд. Каждый из них должен +содержать только одну последовательность %s, которая будет +заменена выражением, чье значение необходимо получить. Такие выражения +передаются gdb, а результат заносится на место соответствующего символа +процента в элементе Display.
  • + +
  • +Alias указывает на тип-псевдоним. Если присутствует данная запись, то +с данным типом обходятся также, как с тем, на который он указывает. Этот +тип-псевдоним дожен быть описан перд ссылающимся на него типом в элементах +Typesx группы [Type Table].
  • +
+На данный момент количество выражений для каждого типа ограничено +пятью. Это может быть с легкостью изменено, но я не рекомендую вообще +приближаться к данному рубежу - это только затормозить процесс отладки. +

KDbg распознает специальное расширение, которое используется для вывода +строк TQt 2.0 в unicode: Если перед Exprx стоит +/TQString::Data, подразумевается, что результат операции является +указателем на TQString::Data. Выводимое значение является строкой в +unicode, представленное TQString::Data (которое может быть +TQString::null, если это пустая строка TQt, или (null), если +unicode член структуры является нулевым указателем). Для примера см. +qt2.kdbgtt. + +

Совет: Совсем необязательно описывать наследуемые типы, если они должны +обрабатываться также как и базовый класс - KDbg может определить наследование +и использовать описание типа первого (слева) базового класса. Вы можете +использовать элемент Alias для быстрого указания класса при +множественном наследовании, отличного от первого слева. +

Пример

+Этот пример показывает, как TQString и TQObject описаны в +qt.kdbgtt. Дополнительно определен TQTableView, ссылающийся +на TQObject. Этот пример применим к TQt 1.x, который расположен в +разделяемых библиотеках, имена которых оканчиваются как libtqt.so.1. +
[Type Table]
+Types1=TQString
+Types2=TQObject,TQTableView
+LibDisplayName=libtqt 1.x
+ShlibRE=libtqt\.so\.1$
+[TQString]
+Display={ % }
+Expr1=(%s).shd->data
+[TQObject]
+Display={ name=% #chld=% }
+Expr1=(%s).objname
+Expr2=(%s).childObjects->numNodes
+[TQTableView]
+Alias=TQObject
+Замечание: гораздо безопаснее заключать %s в скобки. + + diff --git a/doc/ru/watches.html b/doc/ru/watches.html new file mode 100644 index 0000000..0953b7c --- /dev/null +++ b/doc/ru/watches.html @@ -0,0 +1,20 @@ + + + + + + KDbg - Руководство Пользователя - Отслеживаемые Выражения + + +Содержание +

Окно Отслеживаемых Выражений

+Окно отслеживаемых выражений вызывается выбором пункта меню +Вид|Отслеживаемые Выражения. Оно отображает произвольные выражения. +

Для добавления выражения, введите его в поле редактирования и нажмите Enter +или кликните на кнопку Добавить. Для удаления выражения, выберите его +(выбирайте корень выражения?) и кликните на кнопку Del. +

Отслеживаемые выражения сохраняются между сессиями отладки. Поэтому +рекомендуется удалять выражения, которыми вы уже не пользуетесь, т.к. это +повысит скорость отладки. + + diff --git a/kdbg/CMakeLists.txt b/kdbg/CMakeLists.txt index 01aa14f..ed203f5 100644 --- a/kdbg/CMakeLists.txt +++ b/kdbg/CMakeLists.txt @@ -1,4 +1,3 @@ -tde_conditional_add_subdirectory( BUILD_DOC doc ) tde_conditional_add_subdirectory( BUILD_TESTPROGS testprogs ) add_subdirectory( typetables ) diff --git a/kdbg/doc/CMakeLists.txt b/kdbg/doc/CMakeLists.txt deleted file mode 100644 index fde3c3e..0000000 --- a/kdbg/doc/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -tde_add_project_docs() diff --git a/kdbg/doc/de/CMakeLists.txt b/kdbg/doc/de/CMakeLists.txt deleted file mode 100644 index b77b646..0000000 --- a/kdbg/doc/de/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -file( GLOB _htmls RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.html ) - -install( - FILES ${_htmls} - DESTINATION ${HTML_INSTALL_DIR}/de/${PROJECT_NAME} -) - - diff --git a/kdbg/doc/de/argspwdenv.html b/kdbg/doc/de/argspwdenv.html deleted file mode 100644 index 696221f..0000000 --- a/kdbg/doc/de/argspwdenv.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Argumente, Arbeitsverzeichnis, Umgebungsvariablen - - -Inhalt -

-Programmargumente, Arbeitsverzeichnis, Umgebungsvariablen -setzen

-Mit Ausführen|Argumente öffnen Sie einen Dialog, in dem -Sie Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen -setzen können. -

-Programmargumente

-In der obersten Eingabezeile können Sie die Programmargumente eingeben, -die an das Programm übergeben werden sollen. Diese werden beim nächsten -Programmstart verwendet. -

-Arbeitsverzeichnis

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

Das Arbeitsverzeichnis gilt auch für gdb selbst! Das angegebene -Arbeitsverzeichnis wird sofort an gdb weitergegeben, d.h. gdb wird die -neue Einstellung verwenden, sobald Sie OK drücken. Das kann -einen Einfluss darauf haben, ob gdb Quellcodedateien findet. -

-Umgebungsvariablen

-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. - - diff --git a/kdbg/doc/de/breakptlist.html b/kdbg/doc/de/breakptlist.html deleted file mode 100644 index 0acb4d2..0000000 --- a/kdbg/doc/de/breakptlist.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Haltepunkte - - -Inhalt -

-Die Liste der Haltepunkte

-Die Liste der Haltepunkte zeigt alle gesetzten Haltepunkte und Watchpoints -und ermöglicht, diese zu manipulieren. Die Liste der Haltepunkte können -Sie mit dem Menüpunkt Ansicht|Haltepunkte anzeigen. -

-Die Übersicht

-Für jeden Haltepunkt wird folgendes angezeigt: -
    -
  • -der Ort,
  • - -
  • -die Anzahl der Stopps,
  • - -
  • -die Anzahl der nächsten zu ignorierenden Stopps (falls gesetzt)
  • - -
  • -die Haltebedingung (falls gesetzt).
  • -
-Das Piktogramm links zeigt an, ob der Haltepunkt aktiviert (tiefroter Punkt) -oder deaktiviert (hellroter Punkt) ist, ob es sich um einen temporären -Haltepunkt handelt (eine winzige Uhr ist sichtbar) und ob der Haltepunkt -bedingt ist (ein Fragezeichen ist sichtbar). -

Watchpoints werden durch ein Brillensymbol gekennzeichnet. -

-Haltepunkte manipulieren

-Beachten Sie bitte, dass Haltepunkte und Watchpoints -nicht manipuliert werden können solange das zu debuggende Programm -läuft. Wenn das Programm bereits gestartet wurde, muss es zuerst angehalten -werden - entweder indem es auf einen bereits gesetzten Haltepunkt trifft -oder "gewaltsam" indem Sie Ausführung|Unterbrechen wählen. -Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie -können die Haltepunkte jetzt verändern. Wählen Sie danach -Ausführung|Ausführen, -um das Programm fortzusetzen. -

Am einfachsten kann ein Haltepunkt im Quellcode-Fenster -gesetzt werden. Wenn Sie den genauen Dateinamen und die Zeilennummer einer -Funktion nicht kennen, können Sie den Funktionsnamen im Feld über -der Liste eingeben und Haltepunkt wählen. -

Sie können eine Haltepunkt in der Liste auswählen seine Zustand -mittels Deaktivieren oder Aktivieren ändern. Oder Sie -klicken auf den Haltepunkt mit der mittleren Maustaste - genau so, wie -Sie im Quellcode-Fenster Haltepunkte aktivieren und deaktivieren. -

Sie können eine Bedingung setzen (sodass das Programm nur stehen -bleibt, wenn die Bedingung erfüllt ist) oder die Anzahl der zu ignorierenden -Stopps setzen (sodass das Programm die nächsten n Male nicht stehen -bleibt, die es über diesen Haltepunkt läuft). Dazu wählen -sie den Schalter Bedingt und geben die Anzahl der zu ignorierenden -Treffer und/oder die Bedingung ein. -

-Watchpoints manipulieren

-Watchpoints sind den Haltepunkten ähnlich, nur dass das Programm angehalten -wird, sobald sich der Inhalt einer Speicherstelle ändert. Ebenso wie -Haltepunkte können Watchpoints nicht manipuliert werden, solange das -Programm läuft. Weitere Hinweise dazu siehe oben. -

Einen Watchpoint können Sie setzen, indem Sie einen Ausdruck im -Feld über der Liste eingeben und Watchpoint klicken. Das Programm -wird dann angehalten, sobald sich der Wert des Ausdrucks ändert. Beachten -Sie, dass Sie Watchpoints, die eine lokale Variable benötigen, nur -setzen können, wenn das Programm von einem Haltepunkt (oder mittels -Ausführung|Unterbrechen) angehalten wurde. -

Zum Entfernen eines Watchpoints wählen Sie diesen in der Liste -aus und klicken Entfernen. Falls der Ausdruck eine lokale Variable -enthält, wird der Watchpoint automatisch entfernt, sobald das Programm -die aktive Funktion verlässt. -

Wie mit Haltepunkten können Sie eine Bedingung oder eine Anzahl -zu ignorierender Stopps setzen, indem Sie den Watchpoint auswählen -und Bedingt klicken. - - diff --git a/kdbg/doc/de/globaloptions.html b/kdbg/doc/de/globaloptions.html deleted file mode 100644 index 4c0de83..0000000 --- a/kdbg/doc/de/globaloptions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Globale Einstellungen - - -Inhalt -

-Globale Einstellungen

-Mit dem Menüpunkt Datei|Globale Einstellungen können Sie -folgende Optionen einstellen: -
    -
  • -den Befehl, mit dem gdb aufgerufen wird;
  • - -
  • -den Befehl, der das Fenster für die Programmausgabe öffnet,
  • - -
  • -ob KDbg in den Vordergrund kommen soll, sobald das Programm stoppt, und -eine Verzögerung, wann er sich wieder zurückzieht,
  • - -
  • -die Tabulatorweite.
  • -
- -

-Aufruf von gdb

- -
Wenn Sie eine alternative Version von gdb verwenden wollen, -geben sie diese unter Aufruf von GDB an. Die Standardeinstellung -ist gdb --fullname --nx. Achtung: Sie müssen jedenfalls diese -beiden Argumente übergeben; wenn Sie sie weglassen, kann KDbg nicht -funktionieren. Wenn Sie das Eingabefeld leer lassen, wird die Standardeinstellung -verwendet.
- -

-Aufruf eines Terminal-Emulators

- -
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 --name kdbgio --caption %T -e -sh -c %C.
- -

-In den Vordergrund

- -
Sie können angeben, ob das KDbg-Fenster in den Vordergrund -gebracht werden soll, sobald das kontrollierte Programm anhält (bei -einem Breakpoint oder wegen eines Signals). Das Fenster wird allerdings -nicht aktiviert (zumindest nicht unter KWM, dem Window Manger von KDE). -Manche Benutzer werden dieses Verhalten als störend empfinden, weshalb -diese Option standardmässig ausgeschaltet ist.
- -
Wenn diese Option eingeschaltet ist, zieht sich das KDbg-Fenster -auch wieder in den Hintergrund zurück, sobald das Programm fortgesetzt -wird. Allerdings geschieht das erst nach einer Verzögerung, die ebenfalls -angegeben werden kann. Dadurch wird verhindert, dass das Fenster ständig -nach hinten und vorne blinkt, sobald Sie einen Einzelschritt-Befehl absetzen.
- - - diff --git a/kdbg/doc/de/howdoi.html b/kdbg/doc/de/howdoi.html deleted file mode 100644 index 87d08ae..0000000 --- a/kdbg/doc/de/howdoi.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Wie kann ich...? - - -Inhalt -

-Wie kann ich...?

- -

-... eine Haltepunkt setzen?

-Dafür gibt's mehrere Möglichkeiten: -
    -
  • -Sie können im Quellcode-Fenster in den -"aktiven Bereich" am linken Ende der Zeile klicken.
  • - -
  • -Sie können im Quellcode-Fenster eine Zeile auswählen und dann -im Menü Haltepunkt eine Auswahl treffen.
  • - -
  • -Sie können einen Haltepunkt in der Liste -der Haltepunkte setzen.
  • -
-Wenn Sie keinen Haltepunkt setzen können, könnte es sein, dass -das Programm gerade läuft. Sie können keine Haltepunkte setzen, -solange das Programm läuft. Halten Sie es zuerst mit Ausführung|Unterbrechen -an. Falls Sie dann noch immer keine Haltepunkte setzen können, versichern -Sie sich, dass Sie das Programm mit Debug-Information übersetzt und -gebunden haben. -

-... den Wert einer globalen Variablen oder eines beliebigen Ausdrucks anzeigen?

-Benutzen Sie das Ausdrücke-Fenster. -

-... Watchpoints setzen?

-Watchpoints können über die Liste -der Haltepunkte bearbeitet werden. -

-... einen Core-Dump benutzen?

-Laden Sie zuerst das Programm mittels Datei|Programm, dann geben -Sie den Core-Dump mittels Datei|Core dump an. -

-... ein Programm debuggen, das sich in eine Endlosschleife verlaufen hat?

-Starten Sie das Programm und lassen Sie es laufen, bis es in die Endlosschleife -gelangt. Dann schalten Sie um zu KDbg und wählen Ausführung|Unterbrechen. -Hiermit haben Sie das Programm in flagranti erwischt! -

-... erreichen, dass das Programm einigemale über einen Haltepunkt -drüberläuft, ohne anzuhalten?

-In der Liste der Haltepunkte wählen -Sie den Haltepunkt; dann klicken Sie Bedingt und geben die Anzahl -in Ignoriere nächste Treffer an. -

-... eine Umgebungsvariable für das Programm setzen?

-Wählen Sie Ausführung|Argumente und geben die Umgebungsvariable -im Argumente-Dialog an. -

-... ein Arbeitsverzeichnis für das Programm wählen?

-Wählen Sie Ausführung|Argumente und geben das Arbeitsverzeichnis -im Argumente-Dialog an. -

-... das Terminal-Fenster los werden?

-Wählen Sie Datei|Einstellungen und schalten auf das Register -Ausgabe -um. Wählen Sie Nur Ausgabe, einfache Terminalemulation und -klicken Sie OK. Nun müssen Sie das Programm neu laden (am einfachsten -wählen Sie es aus der Liste unter Datei|Zuletzt geöffnete -Programme). Die Programmausgaben werden nun in das eingebaute Ausgabefenster -geschrieben und stdin ist auf /dev/null umgeleitet. -

Sie müssen diese Einstellungen für jedes neue Programm wiederholen, -das Sie debuggen. -

Wichtig: Sie sollten dies nicht tun, falls Ihr Programm -Eingaben vom Terminal (normalerweise stdin) erwartet oder falls mehr als -nur einfache Terminalemultionen benötigt werden (mehr als nur Wagenrücklauf -und Zeilenvorschub). Das eingebaute Ausgabefenster unterstützt keine -Eingaben oder Terminalemulationen. - - diff --git a/kdbg/doc/de/index.html b/kdbg/doc/de/index.html deleted file mode 100644 index 5a69b7e..0000000 --- a/kdbg/doc/de/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - - - -

-KDbg - Benutzerhandbuch

- -

-Inhalt

- - - -
-

-Einleitung

-KDbg ist eine grafische Benutzeroberfläche für gdb, -den GNU-Debugger. -

Das bedeutet, dass KDbg selbst nicht der Debugger ist. Vielmehr kommuniziert -KDbg mit gdb, indem Befehlszeilen and diesen geschickt werden -und die Ausgabe, wie z.B. Variablenwerte, entgegengenommen werden. Die -Menübefehle und Mausklicks werden in gdb-Befehle umgesetzt, -und die Ausgabe von gdb wird in (mehr oder weniger) sichtbare -Information umgesetzt, wie zum Beispiel die Struktur von Variablen. -

Eine Folge davon ist, dass KDbg vollständig von den Fähigkeiten -des verwendeten Befehlszeilendebuggers, gdb, abhängig ist. -KDbg kann nicht mehr als gdb leisten. Wenn Sie zum Beispiel einen -gdb -haben, der Programme mit Threads nicht unterstützt, dann kann auch -KDbg das nicht (obwohl ein Threads-Fenster vorhanden ist). -

-Mit KDbg arbeiten

-Bevor Sie mit der Arbeit beginnen, sollten Sie die globalen -Einstellungen prüfen, indem Sie Datei|Globale Einstellungen -aufrufen. -

-Ein zu debuggendes Program angeben

-Um ein Programm zu debuggen, wählen Sie Datei|Programm. Wenn -Sie das Programm schon einmal debuggt haben, können Sie es auch aus -der Liste unter Datei|Zuletzt göffnete Programme wählen. -Das Programm wird jetzt geladen. -

Wenn Sie einen Core-Dump verwenden wollen, müssen Sie zuerst das -Programm, das den Core-Dump erzeugt hat wie gerade erwähnt laden, -dann wählen Sie Datei|Core dump aus dem Menü. KDbg zeigt -die Stelle an, die den Core-Dump verursacht hat. -

Sie können nun Haltepunkte setzen, indem Sie die Einträge -im Menü Haltepunkt oder im Rechte-Maus-Menü oder in der -Liste -der Haltepunkte verwenden. -

Sie können auch programmspezifische -Einstellungen vornehmen, indem Sie Datei|Einstellungen wählen. -

-Das Programm ausführen

-Nun führen Sie das Programm aus, indem Sie Ausführung|Ausführen -wählen. Das Programm arbeitet nun wie gewöhnlich, bis es beendet -wird, auf einen Haltepunkt oder Watchpoint trifft, oder ein Signal empfängt. -

Sie können das Programm mit Argumenten ausführen, ein Arbeitsverzeichnis -festlegen und auch Umgebungsvariablen definieren. Dazu wählen Sie -Ausführung|Argumente -und machen Ihre Angaben im Programmargumente-Dialog. -

Weiters können Sie sich in ein Programm einhängen (attachen), -das bereits ausgeführt wird. Dazu laden Sie das Programm zuerst wie -oben beschrieben, dann wählen Sie Ausführung|Attachen. -Geben Sie die Prozessnummer an und klicken Sie OK. Das Programm -wird jetzt angehalten (aber nicht beendet), und der derzeitige Stand des -Programms wird im Quellcode-Fenster angezeigt. -

-Das Programm wurde angehalten - was nun?

-Wenn das Programm an einem Haltepunkt, Watchpoint oder wegen eines Signals -angehalten wird, zeigt das Quellcode-Fenster -die Zeile, in der das Programm gerade arbeitete. Es passiert häufig, -dass das Programm wegen eine Signals (oftmals SIGSEGV, Speicherzugriffsfehler) -in einer Funktion angehalten wird, die sich nicht in jenem Programmteil -befindet, den Sie geschrieben haben. In diesem Fall betrachten Sie das -Stack-Fenster -genauer: Suchen Sie nach einer Funktion, die Sie geschrieben haben (beginnen -Sie am oberen Ende) und klicken Sie darauf. Das bringt Sie an eine Stelle, -an der Sie mit der Suche nach dem tatsächlichen Programmfehler beginnen -können. -

Im Menü 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 Menü Haltepunkt finden Sie Befehle zum Setzen, Entfernen, -Aktivieren und Inaktivieren von permanenten und temporären Haltepunkten. -Natürlich können Sie auch eine Liste -der Haltepunkte anzeigen. 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. -

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

-Die Informationsfenster von KDbg

-KDbg zeigt Information in einer Reihe verschiedener Fenster an. Im Menü -Ansicht -finden Sie die Befehle, die diese Fenster anzeigen und schliessen. Es handelt -sich dabei um dockende Fenster, sodass Sie deren Anordnung beliebig -verändern können. - - -

-Tipps und so weiter

- - - -

-Bekannte Probleme

-gdb 4.16 hat Probleme bei der Handhabung von C++-Klassen mit virtuellen -Basisklassen. (Diese kommen häufig in CORBA-Programmen vor.) Gdb stürzt -dabei häufig aufgrund eines Speicherzugriffsfehlers ab. KDbg erkennt, -wenn gdb unerwartet beendet wird. Leider lässt sich nicht -wirklich was dagegen unternehmen. Sie müssen gdb mittels -Datei|Programm -neu starten, das heißt auch für die Debug-Sitzung zurück -an den Start :-(. -

Die Typerkennung von KDbg arbeitet nur, wenn die Bibilotheken dynamisch -ins Programm gebunden sind. -

-Autor

-KDbg wurde von Johannes Sixt -mit vielen weiteren Helfern geschrieben. -
Die KDbg-Homepage befindet sich unter http://www.kdbg.org/. - - diff --git a/kdbg/doc/de/localvars.html b/kdbg/doc/de/localvars.html deleted file mode 100644 index 8b1d36c..0000000 --- a/kdbg/doc/de/localvars.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Lokale Variablen - - -Inhalt -

-Lokale Variablen

-Mittels Ansicht|Lokale Variablen wird das Fenster für die lokalen -Variablen angezeigt. Darin wird der Inhalt der lokalen Variablen des aktiven -Stack-Frames angezeigt. -

Das im Stack-Fenster ausgewählte Frame -bestimmt die lokalen Variablen, die hier angezeigt werden. -

Sobald das Programm angehalten wird (z.B. durch einen Haltepunkt), wird -die Anzeige aktualisiert. Variablenwerte, die sich seit dem letzten Anhalten -geändert haben, werden rot hervorgehoben. -

Sie können die ausgewählte Variable oder Struktur-Member in -das Ausdrückefenster kopieren, indem Sie -mittels der rechten Maustaste das kleine Kontextmenü aufrufen. - - diff --git a/kdbg/doc/de/memory.html b/kdbg/doc/de/memory.html deleted file mode 100644 index 06a2a5e..0000000 --- a/kdbg/doc/de/memory.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Speicherinhalt - - -Inhalt -

-Der Speicherinhalt

-Das Fenster zur Anzeige des Speicherinhalts können Sie mittels Ansicht|Speicher -aufrufen. Es zeigt den Inhalt des Speichers des Programms an beliebigen -Adressen an. -

Um Speicherinhalt anzuzeigen, geben Sie eine Adresse an. Die Adresse -braucht nicht in Hexadezimalform eingegeben werden und es kann sich auch -um einen beliebigen Ausdruck handeln. -

Sie können ein Format wählen, wie der Speicherinhalt dargestellt -werden soll, indem Sie die entsprechenden Optionen im Rechte-Maus-Menü -wählen. -

Die zuletzt verwendeten Adressen werden zwischengespeichert und können -über die Popup-Liste ausgewählt werden. Bitte beachten Sie, dass -zusammen mit der Adresse auch das Darstellungsformat gespeichert wird. -

Wenn Sie keinen Speicherinhalt ansehen wollen, empfehlen wir, dass Sie -die Adresse löschen, damit kein Speicherinhalt angezeigt wird - dadurch -arbeitet KDbg etwas schneller. - - diff --git a/kdbg/doc/de/pgmoutput.html b/kdbg/doc/de/pgmoutput.html deleted file mode 100644 index 65cf563..0000000 --- a/kdbg/doc/de/pgmoutput.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Programmausgabe - - -Inhalt -

-Das Programmausgabefenster

-Das Programmausgabefenster wird mit Ansicht|Ausgabe geöffnet. -Das Ausgabefenster zeichnet den Text auf, den das Programm auf stdout -und stderr ausgibt. -

Das Ausgabefenster lässt keine Eingabe zu und unterstützt -nur eine äußerst minimale Terminalemulation: Lediglich \n -(Zeilenvorschub, line-feed), \t (horizontaler Tabulator) und -\r (Wagenrücklauf, carriage-return) werden behandelt. -Das reicht im Allgemeinen für Programme mit grafischer Benutzeroberfläche -aus, die nur Debug-Ausgaben schreiben. -

Wenn ein Programm zum ersten Mal in KDbg geladen wird, wird dieses Ausgabefenster -nicht benutzt. Der Grund dafür ist, dass KDbg nicht wissen -kann, ob das Programm eine ausgefeilte Terminalemulation benötigt -oder ob es Eingaben über das Terminal erwartet. Deshalb wird standardmässig -ein Terminalemulator verwendet. Um die Ausgaben in das Ausgabefenster umzuleiten, -gehen sie wie folgt vor: -

    -
  1. -Rufen Sie mittels Datei|Einstellungen die programmspezifischen -Einstellungen auf.
  2. - -
  3. -Schalten Sie auf das Register Ausgabe um.
  4. - -
  5. -Wählen Sie Nur Ausgabe, einfache Terminalemulation und klicken -Sie OK.
  6. - -
  7. -Laden Sie das Programm erneut, indem Sie es aus der Liste unter Datei|Zuletzt -geöffnete Programme wählen.
  8. -
-Sie können den Inhalt des Fensters jederzeit löschen, indem Sie -Löschen aus dem Popup-Menü wählen, das Sie mit der -rechten Maustaste aufrufen können. -

Falls die letzte Zeile des Ausgabefensters sichtbar ist, verschiebt -sich der Fensterinhalt automatisch, sodass die letzte Zeile immer sichtbar -bleibt, wenn neuer Text ankommt. Wenn Sie hingegen den Fensterinhalt verschieben, -sodass die letzte Zeile nicht sichtbar ist, bleibt der sichtbare Teil unverändert. - - diff --git a/kdbg/doc/de/pgmsettings.html b/kdbg/doc/de/pgmsettings.html deleted file mode 100644 index b6a163e..0000000 --- a/kdbg/doc/de/pgmsettings.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Programmspezifische Einstellungen - - -Inhalt -

-Programmspezifische Einstellungen

-In diesem Dialog können programmspezifischen Einstellungen getroffen -werden. Der Dialog wird mittels Datei|Einstellungen aufgerufen. -Die Einstellungen werden nur auf das geladene Programm angewendet und bleiben -über Sitzungen hinweg erhalten. -
Wichtiger Hinweis: Die getroffenen Einstellungen -werden erst wirksam, wenn das Programm das nächste Mal geladen -wird. Das bedeutet, dass Sie nach dem Drücken von OK in diesem Dialog -das Programm erneut laden müssen (mittels Datei|Programm)!!
- - - -

-Debugger

-Hier kann der Debugger gewählt werden, der für dieses Programm -verwendet werden soll. -

-Aufruf von GDB

- -
Geben Sie den Befehl an, mit dem gdb aufgerufen werden -soll. Wenn Sie das Feld leer lassen, wird die globale -Einstellung übernommen. Wenn Sie cross-compilieren oder remote -debuggen, werden Sie hier einen gdb-Befehl angeben, der für -die Zielplattform geeignet ist. Die Standardeinstellung ist gdb --fullname --nx. -Sie müssen auf jeden Fall auch diese Optionen angeben, andernfalls -funktioniert KDbg nicht.
- -

-Ausgabe

-Hier geben Sie an, unter welcher Terminalemulation das Programm arbeitet. -

-Keine Ein- und Ausgabe

- -
Wählen Sie diese Option, falls Ihr Programm keine Eingabe -vom Terminal erwartet und Sie keine Ausgabe sehen wollen, die auf stdout -oder stderr geschrieben wird. Alle drei Standardkanäle (stdin, -stdout -und stderr) werden praktisch nach /dev/null umgeleitet.
- -

-Nur Ausgabe, einfache Terminalemulation

- -
Wählen Sie diese Option, falls Ihr Programm keine Eingabe -vom Terminal erwartet (stdin wird nach /dev/null umgeleitet) -und die Ausgabe, die auf stdout und stderr geschrieben -wird, keine besondere Terminalemulation erfordert. Die Ausgabe wird im -Ausgabefenster -angezeigt. -
Wichtig: Die eingebaute Terminalemulation interpretiert nur -den Zeilenvorschub \n (line-feed, ASCII 10) als Zeilenumbruch. -Das Zeichen für den Wagerücklauf \r (carriage-return, -ASCII 13) wird nicht behandelt. Das ist ausreichend für Debug-Ausgaben, -wie sie häufig beim Programmierern grafischer Benutzeroberflächen -verwendet wird.
- -

-Volle Terminalemulation

- -
Wählen Sie diese Option, falls Ihr Programm Eingaben über -stdin -liest oder falls die Ausgabe auf stdout oder stderr Terminalemulation -erfordert. Ein Terminalemulator kann in den globalen -Einstellungen angegeben werden.
- - - diff --git a/kdbg/doc/de/registers.html b/kdbg/doc/de/registers.html deleted file mode 100644 index 2d99bcb..0000000 --- a/kdbg/doc/de/registers.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Registerinhalt - - -Inhalt -

-Der Registerinhalt

-Das Fenster zur Anzeige des Registerinhalts wird mittels Ansicht|Register -angezeigt. Jedesmal, wenn das Programm angehalten wird, zeigt Kdbg hier -den Inhalt der CPU-Register an. -

Das Fenster ist in 3 Spalten aufgeteilt: -

    -
  1. -Die Spalte Register zeigt die Namen der Register.
  2. - -
  3. -Die Spalte Wert zeigt den Inhalt der Register in einer mehr oder -weniger rohen Form an. Diese rohe Form wird üblicherweise in Hexadezimaldarstellung -angezeigt, selbst der Inhalt der Fließkommaregister.
  4. - -
  5. -Die Spalte Dekodierter Wert zeigt den Inhalt der Register in dekotierter -Form an. Bei den arithmetischen Registern ist das meist eine vorzeichenbehaftete -Dezimalzahl, bei Fließkommaregistern wird die Fließkommazahl -angezeigt, die Flag-Register werden manchmal die gesetzten Flags in Worten -dargestellt (hängt von der verwendeten Version von gdb ab).
  6. -
-Durch Klicken mit der rechten Maustaste können Sie ein Kontextmenü -aufrufen, über das Sie die Darstellung der Werte in der zweiten Spalte -wählen können. - - diff --git a/kdbg/doc/de/sourcecode.html b/kdbg/doc/de/sourcecode.html deleted file mode 100644 index 56b462f..0000000 --- a/kdbg/doc/de/sourcecode.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Quellcode - - -Inhalt -

-Das Quellcode-Fenster

-Das Quellcode-Fenster ist das Hauptfenster und ist immer sichtbar. -

Das Quellcode-Fenster zeigt den Quellcode von Programmen an. Am linken -Rand jeder Zeile befindet sich ein "aktiver Bereich". Dort wird ein mit -einem Pfeil angezeigt, an welcher Stelle das Programm gerade ausgeführt -wird. Weiters wird hier angezeigt, an welchen Stellen Haltepunkte gesetzt -sind. -

Neue Haltepunkte können gesetzt werden, indem Sie mit der linken -Maustaste in den aktiven Bereich klicken. Mit der mittleren Maustaste können -Sie vorhandene Haltepunkte aktivieren und deaktivieren. -

Das kleine Pluszeichen '+' zwischen dem "aktiven Bereich" und der Quellcodezeile -zeigt den Assembler-Code der Quellcodezeile an, wenn Sie darauf klicken. -Dabei wird das Zeichen zu einem Minus '-', das den Assemblercode wieder -verbirgt, wenn Sie darauf klicken. -

Meistens werden Quellcode-Dateien automatisch geöffnet. Sie können -Dateien manuell öffnen, indem Sie Datei|Quellcode öffnen -wählen oder Quellcode öffnen aus dem Rechte-Maus-Menü. - - diff --git a/kdbg/doc/de/stack.html b/kdbg/doc/de/stack.html deleted file mode 100644 index ae6e576..0000000 --- a/kdbg/doc/de/stack.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Stack - - -Inhalt -

-Das Stack-Fenster

-Das Stack-Fenster wird mittels Ansicht|Stack angezeigt. Hierin wird -der Call-Stack (Backtrace, Stack-Frames) angezeigt, d.h. die Funktionen, -die das Programm im Augenblick betreten und noch nicht verlassen hat. -

Das innerste Frame (in dem sich das Programm gerade befindet) befindet -sich an erster Stelle. -

Sie können in ein anderes Stack-Frame umschalten, indem Sie einfach -auf die entsprechende Zeile klicken. Das Quellcode-Fenster -zeigt die Stelle an, in der der Aufruf in das nächst-innere Frame -stattfand; die Anzeige der lokalen Variablen -und die Ausdrücke werden umgeschaltet, -sodass die lokalen Variablen des gewählten Frames angezeigt werden. - - diff --git a/kdbg/doc/de/threads.html b/kdbg/doc/de/threads.html deleted file mode 100644 index 924eea4..0000000 --- a/kdbg/doc/de/threads.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Threads - - -Inhalt -

-Die Programm-Threads

-Das Fenster mit der Liste der Programm-Threas wird mittels Ansicht|Threads -aufgerufen. Dieses Fenster listet die aktiven Threads des Programms auf. -

Wichtig: Das Debuggen von Programm-Threads muss von der -verwendeten gdb-Version unterstützt werden - es handelt sich -hierbei nicht um ein Feature von KDbg. Für Linux-Systeme (i386) funktioniert -gdb5 -am besten. -

Der Inhalt des Fensters wird jedesmal erneuert, wenn das Programm vom -Debugger angehalten wird. (Das heisst, dass nicht der aktuelle Zustand -des Programms angezeigt wird, während es läuft.) -

Die erste Spalte zeigt die Thread-ID an, die zweite Spalte zeigt die -Stelle, an der der Thread gerade abgearbeitet wird. -

Die Markierung am Zeilenanfang benennt den aktiven Thread: -

-Indem Sie auf einen Thread klicken, wechseln Sie den aktiven Thread und -die genannten Fenster werden entsprechend auf den aktuellen Stand gebracht. -Ausserdem schaltet das Quellcode-Fenster -zu der Programmstelle um, an der der aktive Thread angehalten wurde. - - diff --git a/kdbg/doc/de/tips.html b/kdbg/doc/de/tips.html deleted file mode 100644 index f27e5a3..0000000 --- a/kdbg/doc/de/tips.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Tipps - - -Inhalt -

-Tipps und Tricks

- -
    -
  • -Setzen Sie immer die Umgebungsvariable LD_BIND_NOW=1 auf glibc2-Systems. -Wie Umgebungsvariablen gesetzt werden, wird hier -erklärt.
  • - -
  • -Sie können Haltepunkte als Lesezeichen verwenden: Setzen Sie einfach -einen Haltepunkt und deaktivieren Sie diesen. Später können Sie -rasch an die entsprechende Stelle zurückkehren, indem Sie in der Liste -der Haltepunkte doppel-klicken (oder  Code anzeigen klicken). -Da sich KDbg alle Haltepunkte über Sitzungen hinaus merkt, werden -sie sofort wieder gesetzt, sobald sie das entsprechende Programm das nächste -Mal debuggen.
  • - -
  • -Auf folgende Weise können Sie Programmvariablen ändern: Im Watch-Bereich -(rechts unten) geben Sie eine Zuweisung ein, z.B. var.member=17 -und Klicken Neu. Die entsprechende Variable wird sofort geändert. -Sie sollten die Variable nun sofort löschen (indem Sie sie auswählen -und Entf klicken). Das ist notwendig, weil der Ausdruck (d.h die -Zuweisung) sonst bei jedem Programmstopp ausgewertet wird.
  • - -
  • -Sie können Werte im Watch-Bereich in den verschiedenen Formaten anzeigen -lassen, die gdb versteht. Z.B. zeigt /x var.member die Variable -var.member -in hexadezimaler Notation an.
  • -
- - - diff --git a/kdbg/doc/de/watches.html b/kdbg/doc/de/watches.html deleted file mode 100644 index 8de3d4b..0000000 --- a/kdbg/doc/de/watches.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - KDbg - Benutzerhandbuch - Ausdrücke - - -Inhalt -

-Ausdrücke (Watches)

-Das Watches-Fenster wird mittels Ansicht|Ausdrücke angezeigt. -Dieses 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. -

Sie können auch eine Variable oder einen Struktur-Member aus dem -Lokale-Variablen-Fenster herüberkopieren, -indem Sie das dortige Kontextmenü zuhilfe nehmen. -

Die eingegeben Ausdrücke werden zwischen Sitzungen gespeichert. -Wir empfehlen, Ausdrücke zu entfernen, die nicht mehr benötigt, -weil das die Arbeitsgeschwindigkeit von KDbg steigert. - - diff --git a/kdbg/doc/en/CMakeLists.txt b/kdbg/doc/en/CMakeLists.txt deleted file mode 100644 index 378feb9..0000000 --- a/kdbg/doc/en/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -file( GLOB _htmls RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.html ) - -install( - FILES ${_htmls} - DESTINATION ${HTML_INSTALL_DIR}/en/${PROJECT_NAME} -) - - diff --git a/kdbg/doc/en/argspwdenv.html b/kdbg/doc/en/argspwdenv.html deleted file mode 100644 index 22482f0..0000000 --- a/kdbg/doc/en/argspwdenv.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - KDbg - User's Manual - Arguments, Environment - - -

Contents

-

-Specifying program arguments, working directory, environment variables

-

Choose Execution|Arguments to open a dialog where you can set program -arguments, the working directory for your program, and environment variables.

-

Tab Arguments

-

In the edit box enter the arguments that shall be passed on to your -program. Insert file name lets you browse for a file; -the file name will be inserted in the edit box (at the cursor position).

-

Next time the program is started, the new arguments will be used.

-

Tab Working Directory

-

In the edit box you can specify the working directory for your program. -Browse lets you browse for a directory. -Your program will use the new directory only when it is run the next time.

-

The working directory also applies to gdb itself! The directory that -you specify will be passed to gdb immediately, i.e. gdb will work with -the new setting as soon as you press OK. This can influence whether -source code files are found.

-

Tab Environment

-

In the Environment tab you can set environment variables that the program -sees in addition to those that it inherits. -In the edit box type in an expression of the form VARIABLE=value -to set the environment variable VARIABLE to the value value, -and click Modify. To remove a variable, select it from the list -below and click Delete. To change the value, edit the value in the -edit field and click Modify. If you change the name of the variable -and click Modify, you add a new variable! The new environment variables -will be used by your program the next time it is run.

-

Tab xsldbg Settings

-

This tab is only available when a XSLT script is -debugged. Here you can specify various flags that influence the -XSL translation and XSLDBG.

- - diff --git a/kdbg/doc/en/breakptlist.html b/kdbg/doc/en/breakptlist.html deleted file mode 100644 index fb1c18e..0000000 --- a/kdbg/doc/en/breakptlist.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - KDbg - User's Manual - Breakpoint list - - -

Contents

-

-The Breakpoint List

-

The breakpoint list displays all breakpoints and watchpoints that are set -and allows you to manipulate them. It can be displayed using View|Breakpoints.

-

-The list of breakpoints

-

For each breakpoint the following is shown:

-
    -
  • -the breakpoint location,
  • - -
  • -the hit count,
  • - -
  • -the ignore count if set,
  • - -
  • -the condition if set.
  • -
-

The icon in front of the entry indicates whether the breakpoint is enabled -(a red dot) or disabled (a bright red dot), whether the breakpoint is temporary -(a tiny clock is overlaid), whether the breakpoint is conditional (a -tiny question mark is overlaid), or whether the breakpoint is orphaned -(a 'x' is overlaid).

-

Watchpoints are indicated by an eye glas icon in front of the line.

-

-Orphaned breakpoints

-

Orphaned breakpoints are breakpoints that gdb cannot implant -immediately. Orphaned breakpoints occur if you try to set a breakpoint in a file -that is not part of the executable. In particular, this is the case if the file -belongs to a shared library or dynamically loaded module: When the executable -is loaded, gdb does not yet know about dynamic modules and, hence, cannot set -breakpoints there. However, KDbg does not forget about requests to set -breakpoints in dynamic modules: It tries to set orphaned breakpoints each time -that the program stops. When the breakpoint can be set successfully, it turns -into a normal breakpoint.

-

But there is an important consequence: Orphaned breakpoints are not effective, -and the program will not stop there. The remedy is to set a breakpoint -in the executable at the earliest possible point after which it is known that -the dynamic module is loaded. For shared libraries this is usually in main() -and for dynamically loaded modules it is after the call to dlopen() -(or equivalent). When the program stops at this breakpoint the orphaned -breakpoints from the dynamic module are set and become effective.

-

-Manipulating breakpoints

-

It is important to note that breakpoints and watchpoints -cannot be manipulated while the program is running. If the program has -already been started, it must stop first - either by hitting a breakpoint -that is already set or forcefully by choosing Execution|Break. Note -that this will not terminate the program, it just interrupts it. You can -now manipulate the breakpoints; then choose Execution|Continue to -let the program continue.

-

To set a breakpoint on a specific source line, it is easiest to do this -in the source code window. If you don't know the exact file and line number -of a function, you can set the breakpoint by typing the function name in -the edit box above the list and click Add Breakpoint.

-

You can disable and enable breakpoints by selecting them in the list -and clicking Disable or Enable. Or you simply click on the -breakpoint in the list using the middle mouse button - just like you enable -and disable breakpoints in the source window.

-

You can set a condition on a breakpoint (so that the program is only -stopped if the condition is true) or set an ignore count (so that the program -is not stopped the next n times that the breakpoint is hit). To do that, -press the Conditional button and enter the condition and/or ignore -count.

-

-Manipulating watchpoints

-

Watchpoints are a like breakpoints, except that they interrupt the program -when the value of a memory location changes. As with breakpoints, watchpoints -cannot be manipulated while the program is running. See above -for more information.

-

To set a watchpoint, type an expression in the edit box above the list, -then click Add Watchpoint. The program will stop when the value -of the expression changes. Note that watchpoints that involve local variables -can only be set when the program is stopped in a breakpoint (or has been -interrupted by Execution|Break).

-

To remove the watchpoint, select it from the list and click Remove. -If the expression involves a local variable, the watchpoint will be removed -automatically when the program leaves the current frame.

-

You can set a condition and an ignore count on the watchpoint just like -on breakpoints by selecting it and clicking Conditional.

- - diff --git a/kdbg/doc/en/globaloptions.html b/kdbg/doc/en/globaloptions.html deleted file mode 100644 index 52faaab..0000000 --- a/kdbg/doc/en/globaloptions.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - KDbg - User's Manual - Global Options - - -

Contents

-

-Global Options Dialog

-

To specify some global options, choose Settings|Global Options. You -can set the following:

-
    -
  • -the command by which gdb is invoked,
  • - -
  • -the command that opens a terminal for the program's output,
  • - -
  • -whether the KDbg shall pop into the foreground when the program stops and -a timeout when it shall go back again,
  • - -
  • -the tab width,
  • - -
  • -filters for source file names.
  • -
- -

-How to invoke gdb

- -
If you want to use a different version of gdb, you can specify -it under -How to invoke GDB. The default command is gdb --fullname ---nx. Be sure to also specify these options if you change the gdb -executable. If you leave them away, KDbg will not work. If you messed up -the entry, you can clear it to revert to the default setting.
- -

-How to invoke a terminal emulator

- -
If you want to use a different terminal program to show the -output of the program, specify it under Terminal for program output. -The default setting is xterm -name kdbgio -title %T -e sh -c %C. -In this entry, -%T will be replaced by a title string, %C -will be replaced by a Bourne shell script that loops infinitely so that -the terminal window doesn't close. (No, it doesn't use CPU, it calls sleep -3600 in a loop :) An alternative for this setting could be konsole ---name kdbgio --caption %T -e sh -c %C.
- -

-Pop into foreground

- -
You can specify whether the KDbg window shall move itself into -the foreground as soon as the program being debugged stops (at a breakpoint -or due to a signal). The KDbg window is not activated, however (at least -under KWM, the KDE window manager). Some users may feel that this behavior -is intrusive, so this option is off by default.
- -
If this option is on, KDbg will also retreat itself into the -background when the program is continued by any command, but it does so -only after a timeout that can be specified. This avoids that the debugger -window flashes back and forth each time you click any of the Step -commands.
- -

-File filters

- -
You can specify wildcards for source files and header files, -which are used in the file dialog of the File|Open Source -command.
- - - diff --git a/kdbg/doc/en/howdoi.html b/kdbg/doc/en/howdoi.html deleted file mode 100644 index 6191144..0000000 --- a/kdbg/doc/en/howdoi.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - KDbg - User's Manual - How Do I...? - - -

Contents

-

-How Do I...?

- -

-... set breakpoints?

-

There's more than one way to set a breakpoint:

-
    -
  • -You can set it in the source window by clicking on the "active area" at -the far left of the line.
  • - -
  • -You can set it by selecting the line in the source window and choosing -an option from the Breakpoint menu.
  • - -
  • -You can set it in the breakpoint list.
  • -
-

If you can't set breakpoints, maybe the program is currently running. You -can't set breakpoints while the program is running. Stop it first using -Execution|Break. -If you still can't set breakpoints, make sure that you have compiled and -linked your program with debugging information enabled.

-

-... display the value of a global variable or an arbitrary expression?

-

Use the Watch window.

-

-... set watchpoints?

-

Watchpoints are manipulated in the breakpoint -list.

-

-... use a core dump?

-

First load the executable using File|Executable, then specify the -core dump using File|Core dump.

-

-... debug a program that's caught in an endless loop?

-

Start the program and let it run until it is in the endless loop. Then -switch to KDbg and choose Execution|Break. You've just caught the -nasty program in flagranti!

-

-... achieve that the program passes over a breakpoint a number of times -before it stops?

-

In the breakpoint list select the breakpoint; -then click Conditional and specify the number of times to skip the -breakpoint in the Ignore count field.

-

-... set environment variables for the executable?

-

Select Execution|Arguments and specify the environment variables -in the program arguments dialog.

-

-... set a working directory for the executable?

-

Select Execution|Arguments and specify the working directory in -the program arguments dialog.

-

-... get rid of this terminal window?

-

Select Settings|This Program and switch to the Output tab. -Select Only output, simple terminal emulation and click OK. -Now restart the program (choose it from the list under File|Recent Executables). -The program output goes now to the built-in output -window and stdin is redirected to /dev/null.

-

You must do this for every new program that you debug.

-

Important: You should not do this if your program expects -input from the terminal (usually stdin) or if its output requires nifty -terminal emulation (more than carriage-return and line-feed). The built-in -output window does not support input and terminal emulation.

- - diff --git a/kdbg/doc/en/index.html b/kdbg/doc/en/index.html deleted file mode 100644 index 454cd08..0000000 --- a/kdbg/doc/en/index.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - KDbg - User's Manual - - - -

-KDbg - User's Manual

- -

-Contents

- - - -
-

-Introduction

-

KDbg is a front-end for gdb, the GNU debugger.

-

This means that KDbg itself is not the debugger. Rather, it communicates -with gdb, a command line debugger, by sending commands to it and -receiving the output, such as variable values. The menu commands and mouse -clicks are translated into gdb commands, and the output of gdb -is translated into (more or less) visible information, such as structured -variable contents.

-

The upshot of all this is that KDbg completely relies on the capabilities -of the underlying command line debugger, gdb. KDbg can do no more -than gdb can. For example, if you have a gdb that does -not supports debugging of threaded programs, KDbg cannot, either (even -though it offers a threads window).

-

-Using KDbg

-

Before you start using KDbg, you may want to review the options in the -Global Options dialog that you invoke -with Settings|Global Options.

-

-Specifying a debugging target

-

To debug a program, choose File|Executable from the menu. If you -have debugged the program earlier, you can choose it from File|Recent -Executables. The program is loaded.

-

If you want to debug a core dump, you must first load the executable -that produced the core dump, then choose -File|Core Dump from the -menu. Now KDbg goes to the point in the program that caused the core dump.

-

You can now set breakpoints, using the Breakpoint menu, the right -mouse button menu, or the breakpoint window.

-

You can also choose program specific settings that apply only to the -currently loaded executable using Settings|This Program, in the -Program Settings dialog.

-

Furthermore, it is possible to debug XSLT scripts.

-

-Running the program

-

Now run the program by selecting Execution|Run. The program now -executes as usual until it either exits, hits a breakpoint or watchpoint, -or receives a signal.

-

You can run the program with arguments, set a working directory, or -set environment variables. To do this, choose Execution|Arguments -and specify your options in the Program Arguments -dialog (before you start the program).

-

You can also attach to a program that is currently running. To do this, -first load the executable file like above. Then choose Execution|Attach. -From the list processes specify the one you want to attach to -and click OK. The running program is -halted (not terminated), and the current point of execution is displayed -in the source window.

-

On some systems the list of processes may not be available. -In this case a simple edit box is available where the process number can be -specified.

-

-The program stopped - now what?

-

When the program stops at a breakpoint, watchpoint, or due to a signal, -the source code window displays the line -where the program stopped. It is very common that the program stops due -to a signal (usually a SIGSEGV, segmentation violation) in a function -that is not part of the program, that you have written. In this case you -investigate the stack window and look for a function -that you have written (start at the top of the list) and click on it. This -will bring you to a location that you can start your search for the real -bug.

-

In the menu Execution you find the commands that you need to -run -the program, step through code, and to interrupt the program (Break) -while it is running. The important commands (Run and all kinds of -Step) are bound to function keys. For efficient debugging it is -strongly recommend that you get used to using them. You can use -Settings|Configure Shortcuts if you want to bind the functions -to different keys.

-

In the menu Breakpoint you find commands to set, clear, disable, -and enable permanent and temporary breakpoints. You can display a list -of breakpoints in the breakpoints window. -You can also set a breakpoint by clicking at the left end of the source -line (using the left mouse button), and you can enable and disable a breakpoint -by clicking it using the middle mouse button.

-

The animation in the toolbar indicates whether the program -is running. It stops when the program stopped in a breakpoint or for -some other reason or when the program exited. This animated button is a shortcut -for Execution|Break.

-

-KDbg's information windows

-

KDbg displays information and accepts commands in number of different windows. -In the menu View you find commands to show and hide these windows. -They are docking windows, which means that you can drag them around and -arrange them in any manner you like.

- - -

-Tips and such

-

The following topics give some useful hints on using KDbg.

- - -

-Author

-

KDbg is written by Johannes Sixt -with contributions from these people (in no particular order):

-
    -
  • Keith Isdale
  • -
  • Ben Burton
  • -
  • Daniel Thor Kristjansson
  • -
  • Matthew Allen
  • -
  • Ron Lerech
  • -
  • Neil Butterworth
  • -
  • Thomas Sparr
  • -
  • Max Judin
  • -
  • Johnny Chan
  • -
  • Ilmar S. Habibulin
  • -
-

KDbg homepage is at http://www.kdbg.org/.

- - diff --git a/kdbg/doc/en/invocation.html b/kdbg/doc/en/invocation.html deleted file mode 100644 index 2f99dd0..0000000 --- a/kdbg/doc/en/invocation.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - KDbg - Invocation - - -

Contents

-

Invoking KDbg from the command line

-

-Usage: kdbg [TQt-options] [KDE-options] [options] [program] [core] 
-
-Generic options:
-  --help                    Show help about options
-  --help-qt                 Show TQt specific options
-  --help-kde                Show KDE specific options
-  --help-all                Show all options
-  --author                  Show author information
-  -v, --version             Show version information
-  --license                 Show license information
-  --                        End of options
-
-Options:
-  -t <file>                 transcript of conversation with the debugger
-  -r <device>               remote debugging via <device>
-  -l <language>             specify language: C, XSLT []
-  -p <pid>                  specify PID of process to debug
-
-Arguments:
-  program                   path of executable to debug
-  core                      a core file to use
-

- diff --git a/kdbg/doc/en/localvars.html b/kdbg/doc/en/localvars.html deleted file mode 100644 index 1461f70..0000000 --- a/kdbg/doc/en/localvars.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - KDbg - User's Manual - Local Variables - - -

Contents

-

-The Local Variables Window

-

The local variables window is opened using View|Locals. The local -variables window displays the contents of the local variables at the currently -selected stack frame.

-

The set of local variables that are displayed is determined by the stack -frame that is selected in the stack window.

-

Variable values that changed between stops of the program are displayed -in red color.

-

The values of most variables can be changed. For this purpose, press F2 -while the input focus is in the window or choose Edit value from the -context menu. Then edit the value and hit Enter. Note that you cannot modify -the strings that char* values point to in this way, just the pointer -value.

-

Using the context menu you can move -the active variable or structure member to the watched -expressions window.

- - diff --git a/kdbg/doc/en/memory.html b/kdbg/doc/en/memory.html deleted file mode 100644 index 75693f9..0000000 --- a/kdbg/doc/en/memory.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - KDbg - User's Manual - Memory Dump - - -

Contents

-

-The Memory Dump Window

-

The memory dump window is displayed using View|Memory. It displays -the contents of the program's memory at arbitrary adresses.

-

To display memory contents, enter an address in the edit field. The -address need not be given in hexadecimal form - it can be an expression.

-

You can specifiy a format how the memory contents shall be displayed -by chooseing the appropriate options from the popup menu that you invoke -by clicking the right mouse button.

-

A number of address expressions are remembered. You can recall such -an expression from the drop-down list. Please note that the address expression -is remembered together with the format.

-

If you don't need to investigate memory contents, it is recommended -that you clear the expression so that no memory dump is displayed - this -speeds up the debugging process.

- - diff --git a/kdbg/doc/en/pgmoutput.html b/kdbg/doc/en/pgmoutput.html deleted file mode 100644 index 3e18902..0000000 --- a/kdbg/doc/en/pgmoutput.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - KDbg - User's Manual - Program Output - - -

Contents

-

-The Program Output Window

-

The program output window is displayed using View|Output. The output -window captures text that is written to stdout and stderr by the program -being debugged.

-

The output window does not allow to type input for the program and it -features only minimal terminal emulation: \n (line-feed), -\t (horizontal tab), and \r (carriage-return) -are treated. These capabilities are usually sufficient to debug GUI programs -which only write debugging output to stdout and stderr.

-

When a program is debugged with KDbg for the first time, the program -output window is not used. The reason for this is that KDbg cannot -know whether the program requires sophisticated terminal emulation or if -it expects input through a terminal. So, a terminal emulator program is -used by default. In order to redirect the output to the output window, -you must do the following:

-
    -
  1. -Open the Settings dialog by selecting Settings|This Program.
  2. - -
  3. -Switch to the Output tab.
  4. - -
  5. -Choose Only output, simple terminal emulation and click OK.
  6. - -
  7. -Reload the program by selecting it from the list in File|Recent Executables.
  8. -
-

You can clear the contents of the output window by selecting Clear -from the popup menu that appears when you click the right mouse button.

-

If the last line of the output is visible, the window always scrolls -automatically so that the last line remains visible when new output arrives. -If, however, you manually scroll up so that the last line is not visible, -the visible portion of text will not change.

- - diff --git a/kdbg/doc/en/pgmsettings.html b/kdbg/doc/en/pgmsettings.html deleted file mode 100644 index 64225fb..0000000 --- a/kdbg/doc/en/pgmsettings.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - KDbg - User's Manual - Program Settings - - -

Contents

-

-The Program Settings Dialog

-

In this dialog, program specific settings can be selected. It is invoked -by Settings|This Program. The settings apply only to the currently loaded -executable and will be saved across sessions.

-
Important note: The chosen settings will only -apply the next time the executable is loaded into KDbg. This means that -after pressing -OK in this dialog, you must reload the executable -using File|Recent Executables!!
- - - -

-Debugger

-

In this section, the debugger to be used for the program can be chosen.

-

-How to invoke GDB

- -
Enter the command to invoke gdb. Leave this field empty to -use the default gdb command as specified in the global -options. When you are cross-compiling and remote-debugging, you will -probably want to use a different gdb suitable for the target platform. -The default command is gdb --fullname --nx. Be sure to specify -at least --fullname if you change the gdb command. -If you remove this command switch, KDbg will not work. -
- -

-Output

-

In this section, the terminal emulation under which the program will run -can be selected.

-

-No input and output

- -
Check this option if your program does not receive input from -the terminal and you do not want to see the output that the program writes -to stdout and stderr (if any). All three standard channels -(stdin, stdout, and stderr) are effectively -redirected to /dev/null.
- -

-Only output, simple terminal emulation

- -
Check this option if your program does not receive input from -the terminal (stdin will be redirected to /dev/null), -and the output that it writes to stdout and stderr does -not require sophisticated terminal emulation. The output will be shown -in the Output window. -
Important: The integrated terminal emulator will only interpret -the line-feed character \n (ASCII 10) to break lines. It will -not -handle the carriage-return character \r (ASCII 13). This is sufficient -for displaying plain debugging output that is often used by developers -of GUI programs.
- -

-Full terminal emulation

- -
Check this option if your program reads input from stdin -or if the output to stdout or stderr requires terminal -emulation. A terminal emulator will be invoked as specified in the global -options.
- - - diff --git a/kdbg/doc/en/registers.html b/kdbg/doc/en/registers.html deleted file mode 100644 index fc9fb5b..0000000 --- a/kdbg/doc/en/registers.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - KDbg - User's Manual - Register Dump - - -

Contents

-

-The Register Dump Window

-

Whenever the program stops, KDbg displays the contents of the CPU registers -in the register dump window. To display this window, choose View|Registers.

-

The registers are grouped by the kind of register. The window contains 3 columns:

-
    -
  1. -The column Register displays the register name.
  2. - -
  3. -The column Value displays the contents of the registers in a more -or less raw form. The raw form is usually displayed as hexadecimal numbers, -even the contents of floating point registers.
  4. - -
  5. -The column Decoded value displays the contents of the registers -in a decoded form. For arithmetic registers this is generally a signed -decimal value, floating point registers are displayed as floating point -numbers, the flag registers are sometimes decoded into named flags.
  6. -
-

By clicking the right mouse button a context menu is popped up which lets -you select how the value in the third column is displayed. -You can change the type to use for all registers of a group at once if you -choose the format for the group header.

- - diff --git a/kdbg/doc/en/sourcecode.html b/kdbg/doc/en/sourcecode.html deleted file mode 100644 index 9d1bb7f..0000000 --- a/kdbg/doc/en/sourcecode.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - KDbg - User's Manual - Source Code - - -

Contents

-

-The Source Code Window

-

The source code window is the main window and is always visible.

-

The source code window displays program source code. At the left of -each source line is an "active area". It displays a pointer to indicate -which source line the program currently executes, and it indicates on which -source lines breakpoints have been set.

-

New breakpoints can be set by clicking into the active area with the -left mouse button. An existing breakpoint can be enabled and disabled by -clicking with the middle mouse button.

-

The tiny plus '+' between the "active area" and the source line can -be clicked on. If you do so, the source line's assembler code will be displayed. -The plus turns into a minus '-', which, if clicked, will hide the disassembled -code.

-

Mostly, source code windows are opened automatically. To open a new -source file manually, click the right mouse button and choose Open Source -or choose File|Open Source.

- - diff --git a/kdbg/doc/en/stack.html b/kdbg/doc/en/stack.html deleted file mode 100644 index 0db570b..0000000 --- a/kdbg/doc/en/stack.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - KDbg - User's Manual - Stack - - -

Contents

-

-The Stack Window

-

The stack window is displayed using View|Stack. The stack window -lists the stack frames, i.e. the functions that the program has entered, -but not yet left.

-

The innermost frame (where the program currently executes) is shown -at the top.

-

To switch to a different stack frame, simply click on that stack frame. -The source window displays the source line -where the function invocation took place and the local -variables window and the watch window change -to reflect the local variables of the selected stack frame.

- - diff --git a/kdbg/doc/en/threads.html b/kdbg/doc/en/threads.html deleted file mode 100644 index 3f0d7fb..0000000 --- a/kdbg/doc/en/threads.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - KDbg - User's Manual - Threads - - -

Contents

-

-The Threads Window

-

The threads window is displayed using View|Threads. The threads -window lists the active threads of the program.

-

Note: Debugging threaded programs must be supported by -the version of gdb that is used - it is not a feature of KDbg. For Linux -systems this works best with gdb5 and later. However, at the time of this writing gdb -still poorly supports threads on NPTL- (New Posix Threads Library) enabled -systems (glibc 2.3.x and kernel 2.6.x).

-

The contents of the threads window are updated every time the program -is stopped by the debugger. (That is, the window does not reflect -the state while the program is running.)

-

The first column shows the thread ID, the second column identifies the -location where the thread currently executes.

-

The marker in front of the line tells which thread currently is active:

-
    -
  • -The stack window displays the active threads's -backtrace.
  • - -
  • -The local variables window displays the active -thread's local variables.
  • - -
  • -The watch window uses the active thread's local -variables to evaluate the expressions.
  • -
-

By clicking a listed thread, the active thread is switched, and the corresponding -windows are updated. In particular, the source -window displays the location where the active thread is currently halted.

- - diff --git a/kdbg/doc/en/tips.html b/kdbg/doc/en/tips.html deleted file mode 100644 index 6a0292a..0000000 --- a/kdbg/doc/en/tips.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - KDbg - User's Manual - Tips and Tricks - - -

Contents

-

-Tips and Tricks

- -
    -
  • -You can use breakpoints as bookmarks: Just set a breakpoint and disable -it. Later, you can quickly come back to that breakpoint by double-clicking -it in the breakpoint list (or select it and click View Code). Since -breakpoints are persistent (i.e. KDbg remembers them across invocations -of a program), you get them back next time you invoke KDbg for that particular -program.
  • - -
  • -You can display a value in the watch section in different ways by prepending -gdb's format specifiers in front of the variable to display. E.g. /x -var.member displays the var.member in hexadecimal notation.
  • - -
  • -You can set breakpoints in a source files that belong to a shared library. -Such breakpoints will be marked as orphaned if the program is not active. -Orphaned breakpoints are not effective. -In order to make them effective, the program must stop at a time when the shared -library is loaded. For this it is usually sufficient to set a breakpoint in -main(). At the time when this breakpoint is hit, the orphaned breakpoints -in the shared library become effective.
  • - -
  • -Debugging multi-threaded programs on NPTL-enabled Linux systems (kernel 2.6.x -or later and glibc 2.3.x or later) may sometimes fails; gdb stops the program -at unexpected instances. In this case the following may help (using bash): -
    -LD_ASSUME_KERNEL=2.4.19 kdbg myprogram
    -
    I.e. you run KDbg from the command line such that the old -Linuxthreads implementation is used.
  • -
- - - diff --git a/kdbg/doc/en/types.html b/kdbg/doc/en/types.html deleted file mode 100644 index 6f233a3..0000000 --- a/kdbg/doc/en/types.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - KDbg - User's Manual - Type Tables - - -

Contents

-

-KDbg's Type Table

-

KDbg can display a short description of structured types, so -that it is not necessary to expand the variable in the local -variables window or watched expressions window. -The information which member variable is displayed is stored in type -tables. There is generally one type table per shared library.

- -

KDbg's default type tables are located under $prefix/share/apps/kdbg/types. -User defined type tables can be placed in ${TDEHOME}/share/apps/kdbg/types, where -${TDEHOME} is ~/.kde if it is not a defined environment variable. -The file names end with .kdbgtt. Example: The type table for libtqt.so -is named qt.kdbgtt. -User defined type tables override the type tables provided by the system.

-

A type table file obeys the regular KDE configuration file syntax. The -file has the following groups:

-
    -
  • -A group [Type Table] which lists the types and information how -the debugger can identify whether the program is linked against the library.
  • - -
  • -A group for each type which has information about how the value of such -a type is displayed by KDbg.
  • -
-

In order to determine which type tables apply to the program being debugged -KDbg lists the shared libraries it is linked to. Then it matches the names -against the ShlibRE entries of all type tables. Those that match -are used. If a type appears in several type tables, it is unspecified which -one will be used.

-

KDbg's type recognition only works for libraries that are linked dynamically -to the program being debugged.

-

-The [Type Table] group

-

This group contains the following entries:

-
    -
  • -Types1, Types2, etc. These entries name the types, -separated by commas. -Each of the entries can list any number of types. The entries must be numbered -consecutively (KDbg stops reading at the first gap), although an entry may be -empty (i.e. contain no type at all). -Sometimes the order in which the names are listed is important -(see Alias types below).
  • - -
  • -ShlibRE. KDbg uses this entry to determine if the type table applies -to the program being debugged. For this purpose KDbg determines the shared -libraries to which the program is linked. If any of the libraries matches -this entry, the type table applies. The regular expression is a TQt-regular -expression (the metacharacters .*?[]^$\ are recognized in the -usual way, but there is no possibility to group characters.)
  • - -
  • -LibDisplayName. This entry is used in lists where the available -type tables are listed to identify this type table. - -
    This is not used currently.
  • - -
  • -EnableBuiltin lists extensions that must be enabled if this -library is used. Currently, two builtins are supported: -
      -
    • -TQString::Data is used to display unicode strings of TQt's TQString -class. See below.
    • -
    • TQCharIsShort is used only in connection with TQString::Data -to specify that a unicode character is stored in an object of type short. -See qt3.kdbgtt for examples.
  • -
- -

In the case of regular types the names of types should follow the output of the -whatis gdb command less any const, spaces, or trailing -&. -If the type contains a a comma in its name, it must be escaped with a backslash. -But note that the comma should not be escaped in the type's group (which is described -in the next section). -

-

In the case of template types the name can be arbitrary because the type's group -will mention the template name and a type parameter list.

- -

-The type's group

-

There is one group for each type that is named exactly as the type. At -the moment C++ template classes are not supported. Each group contains -the following entries:

-
    -
  • An optional Template entry that specifies the exact template type -name as it is reported by gdb's whatis command. However, it is -possible to replace template parameter types at the top-most level by an -asterisk *, which acts as a wildcard: It matches one -template type argument that is reported by whatis (except that an -asterisk in the last position matches all remaining template type arguments). -
  • -
  • -Display determines how the value of the type is displayed by KDbg. -The string must contain 1 to 5 percent characters '%'. These are -replaced by the results of the expressions printed by the Exprx -entries.
  • - -
  • -One or more of Expr1, Expr2, etc. Each of them must contain -one or more %s sequence, which will be replaced by the expression -whose value is investigated. The so constructed expression is submitted -to gdb, and the result substituted back for the corresponding percent character -in the Display string.
  • - -
  • -An optional FunctionGuardx that is associated with the corresponding Exprx. -If the evaluation of the resulting gdb expression returns an error, the corresponding expression from Exprx is not evaluated. (This is used to guard function calls.) -
  • -Alias names an alias type. If this entry is present, the type -is treated like the specified type. That alias type must appear before -this type in the Typesx entries in the Type Table.
  • -
-

Currently the number of expressions per type is limited to -5. This can easily be changed if it's too restrictive, but I recommend -not to go to that limit at all - it will slow down the debugging process.

-

KDbg recognizes a special extension that is used to display TQt 2.x's and TQt 3.x's -unicode strings: If an Exprx is prepended with /TQString::Data, -it is assumed that the result of the expression is a pointer to a TQString::Data. -The value displayed is the unicode string that this instance of TQString::Data -represents (which can be TQString::null if it is TQt's well-defined -null string or (null) if the unicode member is the null -pointer). See qt2.kdbgtt for examples.

-

Tip: It is not necessary to define derived types if they ought to be -treated the same as the base class - KDbg can deduce derived types and -uses the type specification of the (leftmost) base class. You can use the -Alias -entry to quickly specify that a type should be treated like a non-leftmost -base class for a multiple-inheritance class.

-

-An example

-

The example shows how TQString and TQRect are defined -in qt3.kdbgtt. Furthermore, the template type TQValueVector -is defined. This example applies to TQt 3.x, which is located in shared library -whose name ends in libtqt-mt.so.3.

-
[Type Table]
-Types1=TQString,TQRect
-Types2=TQValueVector
-LibDisplayName=libtqt 3.x
-ShlibRE=libtqt-mt\.so\.3$
-EnableBuiltin=TQString::Data,TQCharIsShort
-
-[TQString]
-Display={ % }
-Expr1=/TQString::Data (%s).d
-
-[TQValueVector]
-Template=TQValueVector<*>
-Display={ size=% shared=% capacity=% }
-Expr1=($tmp=(%s).sh)->finish-$tmp->start
-Expr2=(%s).sh->count
-Expr3=($tmp=(%s).sh)->end-$tmp->start
-
-[TQRect]
-Display={ tl=(%,%) br=(%,%) }
-Expr1=(%s).x1
-Expr2=(%s).y1
-Expr3=(%s).x2
-Expr4=(%s).y2
-

This example shows these features:

-
    -
  • The name of the template type, TQValueVector is irrelevant. -The exact type name is specified under the Template= entry. -It specifies a single wildcard so that it applies to all specializations. -
  • -
  • In order to evaluate the expression that was supplied in the %s -only once, the result is stored in a temporary gdb variable and reused later in -the same expression.
  • -
  • Note that it is safer to wrap the %s in parentheses.
  • -
- - diff --git a/kdbg/doc/en/watches.html b/kdbg/doc/en/watches.html deleted file mode 100644 index 395cc61..0000000 --- a/kdbg/doc/en/watches.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - KDbg - User's Manual - Watched Expressions - - -

Contents

-

-The Watched Expressions Window

-

The watched expressions window is opened using View|Watched Expressions. -It displays arbitrary expressions.

-

To add an expression, type it into the edit field and press Enter or -click Add. To remove an expression, click on it (choose the root -of the expression) and click Del.

-

You can also move a variable or structure member from the local -variables window to this window using the context menu in the local -variables window.

-

The values of most expressions can be changed. For this purpose, press F2 -while the input focus is in the window. Then edit the value and hit Enter. -Note that you cannot modify the strings that char* values point -to in this way, just the pointer value.

-

Watched expressions are stored across debugging sessions. It is recommended -that you remove expressions that your don't need any longer because that -speeds up the debugging process.

- - diff --git a/kdbg/doc/en/xslt.html b/kdbg/doc/en/xslt.html deleted file mode 100644 index fdc5ec3..0000000 --- a/kdbg/doc/en/xslt.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - KDbg - User's Manual - Debugging XSLT scripts - - -

Contents

-

Debugging XSLT scripts

-

KDbg allows to debug XSLT (XML stylesheet translation) scripts using -xsldbg, which must be available -on your system.

-

Specifying the script and an XML file to transform

-

XSLT mode is automatically entered if a "program" is loaded -that has a file name that ends in .xsl. In addition, the -command line option -l XSL can be -specified to explicitly choose this mode.

-

To debug an XSLT script it is necessary to specify an XML data file -that the script can transform. This is done in the -Program Arguments dialog, where the XML -file is specified in the Program Arguments edit box.

- - diff --git a/kdbg/doc/man/kdbg.1 b/kdbg/doc/man/kdbg.1 deleted file mode 100644 index 588ef94..0000000 --- a/kdbg/doc/man/kdbg.1 +++ /dev/null @@ -1,92 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH KDBG 1 "March 25, 2005" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -kdbg \- a graphical debugger interface -.SH SYNOPSIS -.B kdbg -[ \fIgeneric-options\fP ] -[ \fB\-t\fP \fIfile\fP ] [ \fB\-r\fP \fIdevice\fP ] -[ \fB\-l\fP \fIlanguage\fP ] [ \fB\-p\fP \fIpid\fP ] -[ \fIprogram\fP ] [ \fIcore\fP ] -.SH DESCRIPTION -\fBKDbg\fP is a graphical user interface to \fBgdb\fP, the GNU debugger. It -provides an intuitive interface for setting breakpoints, inspecting -variables, stepping through code and much more. KDbg requires TDE but -you can of course debug any program. -.PP -KDbg can also debug XSLT (XML stylesheet translation) scripts by -interfacing with \fBxsldbg\fP. Debian users must install the \fIkxsldbg\fP -package to make use of this feature. -.PP -You can pass KDbg the path of the executable to debug (\fIprogram\fP) or -a core dump to debug (\fIcore\fP). -.PP -Features of KDbg include: -.PP -.RS -Inspection of variable values in a tree structure. -.PP -Direct member: For certain compound data types the most important -member values are displayed next to the variable name, so that it is -not necessary to expand the subtree of that variable in order to see -the member value. KDbg can also display Qt's QString values, which -are Unicode strings. -.PP -Debugger at your finger tips: The basic debugger functions (step, -next, run, finish, until, set/clear/enable/disable breakpoint) are -bound to function keys F5 through F10. Quick and easy. -.PP -View source code, search text, set program arguments and environment -variables, display arbitrary expressions. -.PP -Debugging of core dumps, attaching to running processes is possible. -.PP -Conditional breakpoints. -.RE -.SH OPTIONS -Below are the kdbg-specific options. -For a full summary of options, run \fIkdbg \-\-help\fP. -.TP -\fB\-t\fP \fIfile\fP -Write a transcript of the conversation with the debugger to the given -file. -.TP -\fB\-r\fP \fIdevice\fP -Use remote debugging via the given device. -.TP -\fB\-l\fP \fIlanguage\fP -Specify the language of the program/script to debug. -This must be either \fIC\fP (for a C/C++ program) or -\fIXSL\fP (for an XSLT script). -If this option is not passed then KDbg will try to deduce the language -from the given filename. -.TP -\fB\-p\fP \fIpid\fP -Attach to the process with the given process ID. -.SH SEE ALSO -.BR gdb (1), -.BR xsldbg (1). -.PP -Full user documentation is available through the TDE Help Centre. -Alternatively the HTML documentation can be viewed directly from -\fI/opt/trinity/share/doc/tde/HTML//kdbg/\fP. -.SH AUTHOR -KDbg was written by Johannes Sixt . -.br -This manual page was prepared by Ben Burton -for the Debian GNU/Linux system (but may be used by others). diff --git a/kdbg/doc/ru/CMakeLists.txt b/kdbg/doc/ru/CMakeLists.txt deleted file mode 100644 index e983b81..0000000 --- a/kdbg/doc/ru/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -file( GLOB _htmls RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.html ) - -install( - FILES ${_htmls} - DESTINATION ${HTML_INSTALL_DIR}/ru/${PROJECT_NAME} -) - - diff --git a/kdbg/doc/ru/argspwdenv.html b/kdbg/doc/ru/argspwdenv.html deleted file mode 100644 index 9108a91..0000000 --- a/kdbg/doc/ru/argspwdenv.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Аргументы, Окружение - - -Содержание -

Указание аргументов программы, рабочего каталога, переменные окружения

-Выберите пункт меню Исполнение|Аргументы для вызова диалогового окна, в -котором вы сможете установить аргументы отлаживаемой программы, ее рабочий -каталог и переменные окружения. -

-Аргументы программ

-В самой верхней строке ввода укажите аргументы командной строки, которые должны -быть переданы программе. Эти аргументы будут использованы при следующием -запуске программы. -

-Рабочий каталог

-Ниже расположена строка ввода, в которой вы можете указать рабочий каталог -программы. Программа будет работать в указанном каталоге при следующем запуске. -

Рабочий каталог также действует и для gdb! Указанный вами каталог будет -немедленно передан gdb и вступит в силу как только вы нажмете OK. Это -может повлиять на поиск файлов исходных текстов. -

-Переменные окружения

-В секции переменных окружения введите выражение в виде VARIABLE=value -для установки переменной окружения VARIABLE в значение value -и кликните на кнопку Изменить. Для удаления переменной, выберите ее в -списке и кликните на кнопку Удалить. Для изменения значения переменной, -выберите ее из списка, отредактируйте ее значение в поле редактирования и -кликните по кнопке Изменить. Если вы измените имя переменной и кликните -по кнопке Изменить, то вы добавите новую переменную! Новые переменные -окружения будут использованы вашей программой при следующем запуске. -

Если в Linux вы используете библиотеку glibc2, то вам необходимо установить -переменную окружения LD_BIND_NOW. Очень важно, чтобы вы установили -значение этой переменной в 1 для всех сессий отладки. Если она не -будет установлена, то gdb не сможет осуществлять пошаговую отладку (в и из) -системных функций, импортируемых из разделяемых библиотек libc и -остальных. - - diff --git a/kdbg/doc/ru/breakptlist.html b/kdbg/doc/ru/breakptlist.html deleted file mode 100644 index b3007b3..0000000 --- a/kdbg/doc/ru/breakptlist.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Список точек останова - - -Содержание -

Список точек останова

-Список точек останова отображает все установленные точки останова и просмотра и -позволяет манипулировать ими. Он может быть вызван посредством пункта меню -Вид|Точки останова. -

Перечень точек останова

-Для каждой точки останова отображается следующее: -
    -
  • местонахождение точки останова,
  • - -
  • счетчик остановок на этой точке,
  • - -
  • счетчик пропусков точки останова, если указан,
  • - -
  • условие останова, если указно.
  • -
-Иконка напротив записи указаывает состояние точки останова: включена - красная -точка, выключена - светло-красная точка, временная точка останова - маленькие -часы или условная точка останова - маленький знак вопроса. -

Точки просмотра обозначаются иконкой лупы напротив соответствующей записи. -

Управление точками останова

-Необходимо отметить, что точками останова и просмотра -невозможно управлять во время работы программы. Если программа уже запущена, -необходимо, чтобы она остановилась либо попав в точку останова, либо -принудительно посредством вызова пункта меню Исполнение|Прервать. -Это не завершит исполнение программы, а всего лишь остановит ее. Теперь вы -можете управлять точками останва, после чего выберите пункт -Исполнение|Продолжить для продолжения исполнения программы. -

Для установки точки останова на определенную строку исходного текста самым -простым способом является установка ее в окне исходных текстов. Если вы не -знаете имени файла и номера строки, где находится интересующая вас функция, вы -просто можете ввести ее имя в строке ввода над списком и кликнуть на кнопку -Добавить Точку Останова. -

Вы можете включать и выключать точки останова, выбрав их в списке, а затем -кликнув на кнопки Включить или Выключить. Или просто кликните -средней кнопкой мыши по нужному элементу списка - вы будете включать и -выключать их так же, как и в окне исходных текстов. -

Вы можете установить условие срабатывания точки останова или установить -счетчик пропусков этой точки, показывающий количество проходов, при которых не -будет произведен останов. Для этого кликните на кнопку Условия и введите -условие и/или счетчик пропусков. -

Управление точками просмотра

-Точки просмотра похожи на точки останова, за исключением того, что прерывание -происходит только при изменении значения содержимого памяти. Также как и точки -останова, точками просмотра нельзя управлять во время исполнения программы. -Подробнее см. выше. -

Для установки точки просмотра, введите выражение в строку ввода над списком -и кликните на кнопку Добавить Точку Просмотра. Программа остановится при -изменении значения выражения. Необходимо отметить, что точки просмотра, -использующие локальные переменные, могут быть установлены только когда -программа прервана в точке останова (или принудительно посредством вызова -пункта меню Исполнение|Прервать). -

Для удаления точки просмотра, выберите ее из списка и кликните на кнопку -Удалить. Если выражение использует локальные переменные, то точка -просмотра будет удалена автоматически при выходе программы из данной области -стека (функции). -

Вы также можете установить для точек просмотра условия и счетчик пропусков, -выбрав его из списка и кликнув на кнопку Условия. - - diff --git a/kdbg/doc/ru/globaloptions.html b/kdbg/doc/ru/globaloptions.html deleted file mode 100644 index c82a73d..0000000 --- a/kdbg/doc/ru/globaloptions.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - KDbg - Руководство пользователя - Глобальные Переменные - - -Солдержание -

-Далоговое окно Глобальных Переменных

-Для установки некоторых глобальных переменных можно использовать -Файл|Глобальные Переменные. Вы можете установить: -
    -
  • -команду, с помощью которой вызывается gdb,
  • - -
  • -команду, которая открывает терминал для вывода программы,
  • - -
  • -должен ли KDbg переходить в обыкновенный режим после остановки программы и -через какой промежуток времени он опять перейдет в фоновый режим,
  • - -
  • -размер табуляции.
  • -
- -

-Как вызывать gdb

- -
Если вы используете различные версии gdb, нужно указать -их в Как вызывать gdb. По умолчанию используется -форма gdb --fullname ---nx. Проверьте, указаны ли данные опции, -если вы изменили исполняемый модуль gdb. Если вы пропустите их, KDbg не -будет работать. Если вы испортили запись, ее можно очистить, переведя -в значения по умолчанию.
- -

-Как вызвать эмулятор терминала

- -
Если вы хотите испотльзовать различные терминальные программы -для показа вывода программы, укажите их в -Терминалы для вывода программ. Значение по умолчанию – -xterm -name kdbgio -title %T -e sh -c %C. -В данной записи, -%T заменяется титульной строкой, %C -заменяется скриптом командного интерпретатора Борна, который будет циклически -вызываться, пока не произойдет закрытия терминального окна. -(Скрипт использует в цикле sleep -3600). Альтернави\ой данных установок может служить -konsole --name kdbgio --caption %T -e sh -c %C.
- -

-Переход в обычный режим

- -
Вы можете указать KDbg окну перевестись в обычный режим, -когда отлаживаемая программа завершится (в точке останова или по сигналу). -Иначе окно KDbg не активируется (по крайней мере в KWM &150; оконном менеджере -KDE). Некоторым пользователям такое поведение может показатся навязчивым, -поэтому по умолчанию данная опция отключена. -
- -
Если опция включена, KDbg переключится в фоновый режим, если -программа будет продолжена, но только по прошествии заданного временного -промежутка. Это сделано для того, чтобы окно отладчика не переключалось -все время, когда используется пошаговое исполнение программы. -
- - - diff --git a/kdbg/doc/ru/howdoi.html b/kdbg/doc/ru/howdoi.html deleted file mode 100644 index 1549702..0000000 --- a/kdbg/doc/ru/howdoi.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - KDbg - Руководство пользователя - Как я могу...? - - -Содержание -

-Как я могу...?

- -

-... установить точки останова?

-Существует несколько способов: -
    -
  • Нажатием левой клавиши мыши в окне исходного текста в "активной области", -находящейся слева от строки исходного текста.
  • - -
  • Выбрать строку в окне исходного текста и выбрать опцию -меню Точки останова.
  • - -
  • Вы можете воспользоватся списком точек останова.
  • -
-Если вы не можете установить точки останова, возможно программа работает -в данный момент. Когда программа работает, установка точек останова невозможна. -Остановите программу с помощью Выполнение|Прервать. Если -вы по-прежнему не можете установить точку останова, проверьте, скомпилирована -и собрана ли ваша программа с поддержкой информации для отладки. -

... установить значение глобальной переменной или какого-либо выражения?

-Используйте окно Просмотра. -

-... установить точку просмотра?

-Точки просмотра устанавливаются в списке -точек останова. -

-... использовать дамп памяти?

-Сначала необходимо загрузить исполняемый модуль, используя меню -Файл|Исполняемый модуль, затем указать соответствующий дамп памяти, -используя Файл|Дамп Памяти. -

-... отлаживать программу, содержащую бесконечный цикл?

-Запустите программу и подождите, пока она войдет в бесконечный цикл. -Переключитесь в KDbg и выберите Выполнение|Прервать. -Далее можно использовать отладочные средства. -

-... сделать так, чтобы программа определенное количество раз игнорировала -точку останова во время прохода до того, как начнет прерываться?

списке точек останова выберите точку -останова; нажмите Условная и укажите количество раз для пропуска -точки останова в поле Число пропусков. -

-... установить переменную среды для исполнемого модуля?

-Выберите Выполнение|Аргументы и укажите переменные среды в -диалоге аргументов программы. -

-... установить рабочий каталог для исполняемого модуля?

-Выберите Выполнение|Аргументы и укажите рабочий каталог в -диалоге ургументов программы. -

-... избавиться от терминального окна?

-Выберите Файл|Настройки и перейдите на меню -Вывод. -Выберите Только вывод, простая эмуляция терминала и нажмите -OK. -Теперь перезапустите программу (выберите ее из списка -Файл|Последний исполняемый модуль). Вывод программы теперь перенаправлен -в созданное окно вывода, а в качестве -стандартного потока ввода используется /dev/null. -

Вы должны произвести данную операцию для каждой новой отлаживаемой -программы. -

Важно:Вы не должны делать этого, если программа -читает данные со стандартного потока ввода (обычно терминала) или -ее вывод требует более интеллектуальной эмуляции терминала (то есть -не только возврата каретки и прогона строки). Окно вывода не -поддерживает ввод и эмуляцию терминала. - - diff --git a/kdbg/doc/ru/index.html b/kdbg/doc/ru/index.html deleted file mode 100644 index 08e0d88..0000000 --- a/kdbg/doc/ru/index.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - - - -

KDbg - Руководство пользователя

- -

Содержание

- - - -
-

-Введение

-KDbg является графическим интерфейсом к gdb, отладчиком проекта GNU. -

Это означает, что KDbg сам по себе не является отладчиком. Скорее, он -общается с gdb, отладчиком, использующим командную строку, посылая ему -команды и получая их результат, например, значения переменных. Пункты меню и -указания мышью преобразуются в последовательность команд gdb, а -результат преобразуется к более-менее визуальному представлению, такому как -структурное содержимое переменных. -

Обобщение выше сказанного - KDbg целиком зависит от возможностей -используемого отладчика gdb. KDbg не может делать больше, чем делает -gdb. Например, если имеющаяся у вас версия gdb не -поддерживает отладку многопоточных программ, то и KDbg не поможет вам в этом -(несмотря на то, что он выводит окно потоков). - -

-Использование KDbg

-Перед началом использования KDbg вы наверное захотите просмотреть опции в -диалоге Глобальные Опции, который можно -вызвать из пункта меню Файл|Глобальные Опции. -

Указание отлаживаемой программы

-Для отладки программы выберите пункт меню Файл|Исполняемые модули. Если -вы ранее отлаживали эту программу, вы можете выбрать ее из пункта -Файл|Последние Исполняемые Модули. Программа загрузится. -

Если вы хотите произвести отладку по дампу памяти, то сначала вы должны -загрузить программу, породившую этот дамп, а потом загрузить сам дамп, выбрав -пункт меню Файл|Дамп Памяти. Теперь KDbg перейдет в ту точку программы, -которая вызвала создание дампа памяти. -

Теперь вы можете устанавливать точки останова, ипользуя меню -Breakpoint, меню, вызваемое правой кнопкой мышы, или -окно точек останова. -

Также вы можете установить настройки только для отлаживаемой в данный момент -программы в диалоге Настройки Программы, -вызываемом пунктом меню Файл|Настройки. - -

Исполнение программы

-Теперь запустите программу, выбрав пункт меню Исполнение|Запуск. Теперь -программа будет исполняться обычным образом до тех пор, пока она либо не -окончится, либо не попадет в точку останова или точку просмотра, либо не -получит сигнал. -

Вы можете запустить программу с аргументами, установить рабочий каталог, а -также переменные окружения для данной программы. Для этого выберите пункт меню -Исполнение|Аргументы и укажите ваши параметры в диалоге -Аргументы Программы (перед запуском программы). -

Вы также можете подключиться к уже работающей программе. Для этого загрузите -исполняемый модуль, как описано выше. Затем выберите пункт меню -Исполнение|Подсоединиться. Укажите идентификатор процесса и кликните на -OK. Работающая программа будет остановлена (но не прервана), а в окне -исходных текстов будет указана текущая точка останова. - -

Программа остановлена - что теперь?

-Когда программа останавливается в точке останова, просмотра или при получении -сигнала, в окне исходных текстов указывается -текущая строка остановки программы. Часто встречается ситуация, когда программа -останавливается, получая сигнал (обычно SIGSEGV), находясь в функции, -которую вы вызываете из своей программы, но сами не разрабатывали. В этом -случае просмотрите окно стека и найдите функцию, -которую писали вы (начиная с вершины списка) и кликните на нее. Это укажет вам -место, с которого вы сможете начать поиск ошибки в вашей программе. -

В меню Исполнение вы найдете команды, которые вам понадобятся для -запуска программы, пошаговой отладке, прерывания исполнения программы -(Прерывание). Важные команды, такие как Запуск и все виды -Шагов, привязаны к функциональным клавишам, которыми рекомендуется -пользоваться для повышения эффективности отладки. -
Эти функции не настраиваются, но может вы захотите внести -свой вклад и разработать эту функциональность? -

В меню Точки останова вы найдете команды для установки, снятия, -включени и выключения временных и постоянных точек останова. Вы можете вывести -список точек останова в окно точек останова. -Вы также может установить точку останова, кликнув левой кнопкой мыши в левое -поле строки исходного текста. Для включения и выключения точки останова -кликните средней кнопкой мыши на точку останова. -

Шестеренка на панели инструментов показывает, что gdb работает, в этом -случае она вертится. Когда она вертится быстро, KDbg не будет принимать -команды исполнения, а если она вращается медленно, то KDbg считывает значения -переменных. -

-Информационные окна KDbg

-KDbg выводит информацию и принимает команды в различных окнах. В меню -Вид вы обнаружите команды для вызова и закрытия этих окон. Все эти окна -вы можете размещать так, как вам удобно. - - - -

-Советы и пр.

-Следующие разделы содержат полезные сведения об использовании KDbg. - - -

-Известные проблемы

-gdb 4.16 имеет проблемы с обработкой классов С++ с виртуальным базовым классом. -(Такие классы обычно встречаются в программах, использующих CORBA.) Он -прерывается по ошибке сегментации, а KDbg сообщает о том, что gdb неожиданно -завершился. К сожалению, с этим ничего нельзя сделать. Вам придется -перезапустить gdb, выбрав пункт меню Файл|Исполняемый модуль, который -перезапустит сессию отладки. -

Распознавание типов в KDbg работает только для библиотек, динамически -линкуемых с отлаживаемой программой. - -

-Автор

-KDbg разработан Johannes Sixt -с помощью многих остальных. -
Домашняя страница KDbg расположена по адресу -http://www.kdbg.org/. - - diff --git a/kdbg/doc/ru/localvars.html b/kdbg/doc/ru/localvars.html deleted file mode 100644 index 31b9a8b..0000000 --- a/kdbg/doc/ru/localvars.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Локальные Переменные - - -Содержание -

Окно Локальных Переменных

-Окно локальных переменных вызывается выбором пункта меню Вид|Локальные. -Данное окно отображает содержимое локальных переменных, определенных -указанной текущей областью стека (stack frame). -

Отображаемый набор локальных переменных определяется областью стека (stack -frame), выбранной в окне стека. -

Значения переменных, изменивщихся между остановами программы, отображаются -красным цветом. - - diff --git a/kdbg/doc/ru/memory.html b/kdbg/doc/ru/memory.html deleted file mode 100644 index e8ba057..0000000 --- a/kdbg/doc/ru/memory.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - KDbg - Руководство пользователя - Образ памяти - - -Содержание -

Окно образа памяти

-Чтобы отобразить окно образа памяти нужно выбрать Вид|Память. -Оно выводит содержимое памяти программы по любым адресам. -

Для просмотра содержимого памяти, введите нужный адрес в поле редактирования. -Адрес не обязательно должен задаваться в шестнадцатеричной форме и может -задаваться выражением. -

Вы можете определить формат отображения содержимого памяти с помощью -выбора соответствующих опций из выпадающего меню, которое вызывается -нажатием правой клавиши мыши. -

Адресные выражения запоминаются и впоследствии могут быть -вызваны из выпадающего списка. Обратите внимание, что адресные выражения -запоминаются вместе с их форматом. -

Если вы не собираетесь исследовать содержимое памяти, рекомендуется -очистить выражение таким образом, чтобы содержимое памяти не выводилось -– это увеличит скорость процесса отладки. - - diff --git a/kdbg/doc/ru/pgmoutput.html b/kdbg/doc/ru/pgmoutput.html deleted file mode 100644 index 2a17c69..0000000 --- a/kdbg/doc/ru/pgmoutput.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Вывод Программы - - -Содержание -

Окно Вывода Программы

-Окно вывода программы можно вызвать, выбрав пункт меню Вид|Вывод. В это -окно выводятся стандартные потоки вывода и диагностики отлаживаемой программы. -

Оно не позволяет вводить какие-либо данные в программу и реализует лишь -минимальную эмуляцию терминала: \n (перевод строки) преобразуется в -комбинацию начало строки-перевод строки, а \r (начало строки) -игнорируется. Этих возможностей обычно предостаточно для отладки GUI программ, -которые выводят отладочные сообщение в стандартные потоки вывода или -диагностики. -

Когда программа отлаживается первый раз, окно вывода программы не -неиспользуется. Ведь KDbg не знает, достаточно ли программе столь -ограниченных возможностей или же она ожидает ввода с терминала. Поэтому по -умолчанию используется штатный эмулятор терминала. Для перенаправления вывода -программы в окно вывода необходимо проделать следующие шаги: -

    -
  1. -Вызвать диалоговое окно Настройки посредством -пункта меню Файл|Настройки.
  2. - -
  3. Выбрать закладку Вывод.
  4. - -
  5. Выбрать Только вывод, простой эмулятор терминал и кликнуть на -кнопку OK.
  6. - -
  7. Перезагрузить программу из списка Файл|Последние Исполняемые Модули.
  8. -
-Для очистки содержимого окна выберите пункт Очистить в всплывающем меню, -вызываемом нажатием правой кнопки мыши в этом окне. -

Если последняя строка окна заполнена текстом, то окно прокручивается -автоматически таким образом, что последняя строка всегда остается видимой при -поступлении новых сообщений. Если вы прокрутите окно, то отображаемая позиция -не изменится. - - diff --git a/kdbg/doc/ru/pgmsettings.html b/kdbg/doc/ru/pgmsettings.html deleted file mode 100644 index ca14b4b..0000000 --- a/kdbg/doc/ru/pgmsettings.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Настройки Программ - - -Содержание -

Диалог Настройки Программ

-В этом диалоге можно указать настройки конкретной программы. Для его вызова -выберите пункт меню Файл|Настройки. Данные настройки будут применены -только к текущей отлаживаемой программе и будут сохранены между сессиями ее -отладки. -
Важное замечание: Настройки будут применены только -при следующей загрузке исполняемого модуля в KDbg. Это означает, что после -нажатия на OK вы должны перезагрузить исполняемый модуль с помощью -пункта меню Файл|Исполняемые модули!!
- - - -

-Отладчик

-В этом разделе вы можете указать отладчик, которым будете отлаживать программу. -

Как вызвать GDB

- -
Введите команду для вызова gdb. Оставьте это поле пустым для вызова -gdb по умолчанию, указанного в -глобальных опциях. Если вы занимаетесь -кросс-компиляцией и удаленной отладкой, то вы наверное захотите использовать -другой gdb, более подходящий для конкретной платформы. По умолчанию вызывается -gdb --fullname --nx. Не забудьте указать данные опции при изменении -используемого отладчика. Если вы их не укажите, KDbg не будет работать. -
- -

-Вывод

-В этом разделе вы можете указать степень эмуляции терминала, в которой будет -работать программа. -

Нет ввода и вывод

- -
Отметьте эту опцию, если ваша программа не получает входных данных -с терминал и вы не хотите видеть то, что она выводит в стандартные потоки -вывода и диагностики. Все стандартные потоки (stdin, stdout и -stderr) перенаправляются в /dev/null.
- -

Только вывод, простая эмуляция терминала

- -
Отметьте эту опцию, если ваша программа не получает входных данных -с терминала (stdin будет перенаправлен в /dev/null), а вывод -(stdout и stderr) не требует сложной эмуляции терминала. -Вывод будет отображаться в окне выовда. - -
Важно: Встроенный эмулятор терминала интерпретирует только символ -новой строки \n (ASCII 10) в перевод строки. Он не обрабатывает -символ перевода каретки \r (ASCII 13). Этого вполне достаточно для -отображения простых отладочных сообщений, которые обычно используются -разработчиками программ, использующих графический интерфейс.
- -

Полная эмуляция терминала

- -
Отметьте эту опцию, если ваша программа получает данные из -stdin, или вывод в stdout or stderr требует полной -эмуляции терминала. В этом случае будет использован эмулятор терминала, -указанный в глобальных опциях.
- - diff --git a/kdbg/doc/ru/registers.html b/kdbg/doc/ru/registers.html deleted file mode 100644 index eb5c216..0000000 --- a/kdbg/doc/ru/registers.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Содержимое регистров - - -Содержание -

Окно Содержимого Регистров

-Всякий раз, когда происходит останов программы, -KDbg выводит содержимое регистров ЦПУ в соответсвующем окне. Для того, чтобы -отобразить данное окно, выберите Вид|Регистры. -

Окно содержит 3 колонки: -

    -
  1. Колонка Регистр выводит имя регистра.
  2. - -
  3. Колонка Значение выводит содержимое регистров в более или менее -необработанном формате. Необработанный формат обычно выводит шестнадцатеричное -значение, даже для содержимого регистров с плавающей точкой.
  4. - -
  5. Колонка Декодированное значение выводит содержимое регистров -в декодированной форме. Для арифметических регистров это -обычно знаковое десятичное значение, для регистров с плавающей точкой -– число с плавающей точкой, регистры флагов декодируются в имена -флагов.
  6. -
-С помощью правой клавиши мыши можно вызвать меню, которое позволяет -установить формат значений во второй колонке. - - diff --git a/kdbg/doc/ru/sourcecode.html b/kdbg/doc/ru/sourcecode.html deleted file mode 100644 index fba5f3b..0000000 --- a/kdbg/doc/ru/sourcecode.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - KDbg - Руководство пользователя - Исходный Текст - - -Содержание -

Окно Исходного Текста

-Данное окно является главным и всегда отображается. -

Окно исходного текста содержит исходный текст программы. Слева от -каждой строки текста находится "активная область". Она содержит -указатель на строку исходного текста, которая выполняется в текущий момент -времени, а также указывает те строки исходного текста, которые содержат -точки останова. -

Новые точки останова устанавливаются нажатием левой клавиши мыши в -"активной области". Существующая точка останова может быть активирована -или дезактивирована с помощью средней клавиши мыши. -

Может быть нажат знак плюса '+' между "активной областью" и строкой -исходного текста. Это приведет к выводу ассемблерного кода для данной -строки. Чтобы скрыть ассемблерный код, необходимо -нажать клавишу '-'. -

Обычно окна исходного текста открываются автоматически. Чтобы -открыть файл с исходным текстом вручную, нужно нажать правую -кнопку мыши и выбрать Открыть исходный текст или -выбрать Файл|Открыть исходный текст. -

Для переключения между несколькими файлами с исходными текстами, -выберите нужный файл в меню Окно. - - diff --git a/kdbg/doc/ru/stack.html b/kdbg/doc/ru/stack.html deleted file mode 100644 index 082ba9b..0000000 --- a/kdbg/doc/ru/stack.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Стек - - -Содержание -

Окно Стека

-Окно стека вызывается выбором пункта меню Вид|Стек. Окно стека содержит -списки областей стека (stack frames), например, функции, которые были вызваны, -но еще не завершились. -

Самая внутренняя (вложенная) область (место текущего исполнения программы) -находится в самом верху списка. -

Для переключения на другую область стека, просто выберите эту область -мышкой. Окно исходных текстов отображает строки -исходных текстов, которые исполняются программой в текущий момент, а -окно локальных переменных и -окно отслеживаемых выражений изменяются, отображая -локальные переменные выбранной области стека. - - diff --git a/kdbg/doc/ru/threads.html b/kdbg/doc/ru/threads.html deleted file mode 100644 index 674c309..0000000 --- a/kdbg/doc/ru/threads.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Потоки - - -Содержание -

Окно Потоков

-Окно потоков можно вывести, выбрав пункт меню Вид|Потоки. В окне потоков -отображается список активных потоков программы. -

Замечание: Отладка многопоточных программ должна -поддерживаться используемой версией gdb - это не является функцией KDbg. Для -Linux-систем лучше использовать gdb5. -

Содержимое окна потоков обновляется при каждой остановке программы -отладчиком. (Т.е. в окне не отображается состояние потоков во время -работы программы.) -

Первая колонка отображает идентификатор потока, вторая указывает на текущее -место исполнения данного потока. -

Маркер напротив одной из строк указывает на текущий активный поток: -

-Если кликнуть на другой поток в списке, то он станет активным и соответственно -будет изменено содержимое других окон. В частности, -окно исходных кодов отобразит место, где текущий -поток был остановлен. - - diff --git a/kdbg/doc/ru/tips.html b/kdbg/doc/ru/tips.html deleted file mode 100644 index 7739496..0000000 --- a/kdbg/doc/ru/tips.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Полезные Советы - - -Содержание -

Полезные Советы

- -
    -
  • Всегда устанавливайте переменную окружения LD_BIND_NOW=1 в -системах, использующих библиотеку glibc2. - -Установка переменных окружения описана -здесь.
  • - -
  • Вы можете использовать точки останова, как закладки: просто установите -точку останова и выключите ее. Позже вы сможете возвратиться к этой точке, -кликнув на нее два раза в списке точек останова (или просто выбрав ее и кликнув -на кнопку Просмотреть Исходный Код). Т.к. точки останова являются -постоянными (т.е. KDbg запоминает их расположение и восстанавливает в следующей -сессии), то при вызове вашей программы на отладку в следующий раз все точки -останова будут на месте. -
  • - -
  • Вы можете изменять значения переменных программы: в окне просмотра -переменных (внизу справа) введите присвоение var.member=17 и кликните -по кнопке Добавить. Это приведет к немедленному изменению значения -переменной. Теперь вам необходимо удалить это выражение из списка (выбрав -его и кликнув на кнопку Удалить). Это необходимо потому, что просмотр -выражений осуществляется при каждом останове программы и этой переменной будет -присваиваться тоже значение снова и снова!
  • - -
  • Вы можете выводить значение переменных в окно просмотра в разных форматах, -используя модификаторы gdb перед указанием выводимой переменной. Например, -/x var.member выведет значение var.member в шеснадцатеричном -виде.
  • -
- - - diff --git a/kdbg/doc/ru/types.html b/kdbg/doc/ru/types.html deleted file mode 100644 index 6cb8453..0000000 --- a/kdbg/doc/ru/types.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Таблицы Типов - - -Содержание -

Таблица Типов KDbg

-KDbg может отображать содержимое отдельно взятых членов структурированных типов -данных, таким образом отсутствует необходимость в раскрытии переменных в -окне локальных переменных или в -окне отслеживаемых выражений. Информация о том, -переменная какого члена отображается, хранится в таблицах типов. Обычно -существует одна таблица на разделяемую библиотеку. -

Таблицы типов KDbg расположены в каталоге -$TDEDIR/share/apps/kdbg/types. Имена файло таблиц оканчиваются на -.kdbgtt. Например, таблица типов для libtqt.so называется -qt.kdbgtt. -

Файлы таблиц типов соответствуют стандартному синтаксису файлов конфигурации -KDE. Файл содержит следующие группы: -

    -
  • -Группу [Type Table], в которой перечислены типы и информация о том, -как отладчик может определить, слинкована ли программа с этой библиотекой.
  • - -
  • Группу на каждый прописанный тип, в которой содержится информация о том, -как KDbg должен отображать данный тип.
  • -
-Для определения таблиц типов, применимых к отлаживаемой программе, KDbg -запрашивает список разделяемых библиотек, с которыми слинкована программа. -Затем он осуществляет поиск имен этих библиотек в таблицах типов в элементах -ShlibRE. Используются те таблицы, в которых были найдены -соответствующие имена библиотек. Если тип появляется в нескольких таблицах, то -неопределено, какое же из описаний будет выбрано. -

Группа [Type Table]

-Эта группа содержит следующие элементы: -
    -
  • -Types1, Types2, и тд. Эти элементы являются именами типов. -Каждый из них представляет собой разделенный запятыми список имен типов. В -каждом элементе может быть перечислено любое количество типов. (Имена типов -можно разбить на несколько строк, чтобы они строки не получались слишком -длинными.) В этих строках недопустимы символы пробела. Элементы должны -нумероваться последовательно (KDbg прекращает чтение на первом же пропуске), -однако элементы могут быть пусты (т.е. вообще не содержать типов). Иногда -порядок перечисления имен имеет значение (см. пример с Alias ниже). -
  • - -
  • -ShlibRE. KDbg использует этот элемент для определения, использовать -ли данную таблицу к текущей отлаживаемой программе. Для этого KDbg определяет -разделяемые библиотеки, используемые программой. Если хотя бы одна из них -совпадает со значением этого элемента, таблица используется. Используемые -регулярные выражения совпадают с регулярными выражениями TQt (метасимволы -.*?[]^$\ распознаются обычным образом, однако отсутсвует возможность -группировать символы.)
  • - -
  • -LibDisplayName. Этот элемент используется в списках, в которых -доступные таблицы типов перечислены для указания данной таблицы типов.
  • - -
    На данный момент это не используется.
- -

Группа типа

-На каждый заявленый тип должна быть заведена группа, названная именем типа. -На данный момент шаблоны С++ не поддерживаются. -Каждая группа содержит следующие элементы: -
    -
  • -Display указывает, как KDbg должен отображать значение этого типа. -Строка может содержать от 1 до 5 символов '%'. Они заменяются на -результаты выражений, описанных в элементах Exprx.
  • - -
  • Один или более Expr1, Expr2, и тд. Каждый из них должен -содержать только одну последовательность %s, которая будет -заменена выражением, чье значение необходимо получить. Такие выражения -передаются gdb, а результат заносится на место соответствующего символа -процента в элементе Display.
  • - -
  • -Alias указывает на тип-псевдоним. Если присутствует данная запись, то -с данным типом обходятся также, как с тем, на который он указывает. Этот -тип-псевдоним дожен быть описан перд ссылающимся на него типом в элементах -Typesx группы [Type Table].
  • -
-На данный момент количество выражений для каждого типа ограничено -пятью. Это может быть с легкостью изменено, но я не рекомендую вообще -приближаться к данному рубежу - это только затормозить процесс отладки. -

KDbg распознает специальное расширение, которое используется для вывода -строк TQt 2.0 в unicode: Если перед Exprx стоит -/TQString::Data, подразумевается, что результат операции является -указателем на TQString::Data. Выводимое значение является строкой в -unicode, представленное TQString::Data (которое может быть -TQString::null, если это пустая строка TQt, или (null), если -unicode член структуры является нулевым указателем). Для примера см. -qt2.kdbgtt. - -

Совет: Совсем необязательно описывать наследуемые типы, если они должны -обрабатываться также как и базовый класс - KDbg может определить наследование -и использовать описание типа первого (слева) базового класса. Вы можете -использовать элемент Alias для быстрого указания класса при -множественном наследовании, отличного от первого слева. -

Пример

-Этот пример показывает, как TQString и TQObject описаны в -qt.kdbgtt. Дополнительно определен TQTableView, ссылающийся -на TQObject. Этот пример применим к TQt 1.x, который расположен в -разделяемых библиотеках, имена которых оканчиваются как libtqt.so.1. -
[Type Table]
-Types1=TQString
-Types2=TQObject,TQTableView
-LibDisplayName=libtqt 1.x
-ShlibRE=libtqt\.so\.1$
-[TQString]
-Display={ % }
-Expr1=(%s).shd->data
-[TQObject]
-Display={ name=% #chld=% }
-Expr1=(%s).objname
-Expr2=(%s).childObjects->numNodes
-[TQTableView]
-Alias=TQObject
-Замечание: гораздо безопаснее заключать %s в скобки. - - diff --git a/kdbg/doc/ru/watches.html b/kdbg/doc/ru/watches.html deleted file mode 100644 index 0953b7c..0000000 --- a/kdbg/doc/ru/watches.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - KDbg - Руководство Пользователя - Отслеживаемые Выражения - - -Содержание -

Окно Отслеживаемых Выражений

-Окно отслеживаемых выражений вызывается выбором пункта меню -Вид|Отслеживаемые Выражения. Оно отображает произвольные выражения. -

Для добавления выражения, введите его в поле редактирования и нажмите Enter -или кликните на кнопку Добавить. Для удаления выражения, выберите его -(выбирайте корень выражения?) и кликните на кнопку Del. -

Отслеживаемые выражения сохраняются между сессиями отладки. Поэтому -рекомендуется удалять выражения, которыми вы уже не пользуетесь, т.к. это -повысит скорость отладки. - - -- cgit v1.2.1