diff options
author | Ray-V <[email protected]> | 2021-06-13 21:47:32 +0100 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2021-06-25 11:58:23 +0200 |
commit | d25245fe76e6b975515d0d39636b38d08c5a9c61 (patch) | |
tree | 204dd8265bda3e247ed5f3a054349ffe8b5946d0 /doc | |
parent | 4b299dc023ad2da1d0fdba013d9f3ea901b9d8cf (diff) | |
download | kdbg-d25245fe76e6b975515d0d39636b38d08c5a9c61.tar.gz kdbg-d25245fe76e6b975515d0d39636b38d08c5a9c61.zip |
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 <[email protected]>
(cherry picked from commit ae6f04289851574f38aedbd4666f7154cc67cad3)
Diffstat (limited to 'doc')
50 files changed, 2976 insertions, 0 deletions
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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Argumente, Arbeitsverzeichnis, Umgebungsvariablen</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h3> +<a NAME="Environment"></a>Programmargumente, Arbeitsverzeichnis, Umgebungsvariablen +setzen</h3> +Mit <i>Ausführen|Argumente</i> öffnen Sie einen Dialog, in dem +Sie Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen +setzen können. +<h3> +Programmargumente</h3> +In der obersten Eingabezeile können Sie die Programmargumente eingeben, +die an das Programm übergeben werden sollen. Diese werden beim nächsten +Programmstart verwendet. +<h3> +Arbeitsverzeichnis</h3> +Im Eingabefeld darunter können Sie das Arbeitsverzeichnis angeben. +Dieses wird sofort an gdb übergeben, sobald Sie <i>OK</i> drücken. +Das Programm verwendet das neue Arbeitsverzeichnis allerdings erst beim +nächsten Start. +<p>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 <i>OK</i> drücken. Das kann +einen Einfluss darauf haben, ob gdb Quellcodedateien findet. +<h3> +Umgebungsvariablen</h3> +Im Bereich für Umgebungsvariablen können Sie einen Ausdruck in +der Form +<tt>VARIABLE=Wert</tt> eingeben und dann <i>Ändern</i> klicken, +um der Umgebungsvariablen <tt>VARIABLE</tt> einen <tt>Wert</tt> zuzuweisen. +Um eine Variable zu entfernen, wählen Sie diese zuerst aus der Liste +darunter aus und klicken dan <i>Löschen</i>. Um einen Wert zu ändern, +geben Sie einfach den neuen Wert ein und klicken <i>Ändern</i>. Wenn +Sie den Namen der Variable ändern und <i>Ändern</i> clicken, +erzeugen Sie eine neue Variable! Die neuen Umgebungsvariablen werden erst +beim nächsten Programmstart verwendet. +<p>Wenn Sie glibc2 unter Linux verwenden, ist es sehr wichtig, dass Sie +der Umgebungsvariablen <tt>LD_BIND_NOW</tt> den Wert <tt>1</tt> zuweisen. +Wenn diese Variable nicht gesetzt ist, können solche Funktionen nicht +betreten werden, die von der Bibliothek <tt>libc</tt> und anderen Shared +Libraries importiert werden. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Haltepunkte</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Die Liste der Haltepunkte</h1> +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 <i>Ansicht|Haltepunkte</i> anzeigen. +<h2> +Die Übersicht</h2> +Für jeden Haltepunkt wird folgendes angezeigt: +<ul> +<li> +der Ort,</li> + +<li> +die Anzahl der Stopps,</li> + +<li> +die Anzahl der nächsten zu ignorierenden Stopps (falls gesetzt)</li> + +<li> +die Haltebedingung (falls gesetzt).</li> +</ul> +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). +<p>Watchpoints werden durch ein Brillensymbol gekennzeichnet. +<h2> +Haltepunkte manipulieren</h2> +<a NAME="StopProg"></a>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 <i>Ausführung|Unterbrechen</i> wählen. +Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie +können die Haltepunkte jetzt verändern. Wählen Sie danach +<i>Ausführung|Ausführen</i>, +um das Programm fortzusetzen. +<p>Am einfachsten kann ein Haltepunkt im <a href="sourcecode.html">Quellcode-Fenster</a> +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 <i>Haltepunkt</i> wählen. +<p>Sie können eine Haltepunkt in der Liste auswählen seine Zustand +mittels <i>Deaktivieren</i> oder <i>Aktivieren</i> ändern. Oder Sie +klicken auf den Haltepunkt mit der mittleren Maustaste - genau so, wie +Sie im Quellcode-Fenster Haltepunkte aktivieren und deaktivieren. +<p>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 <i>Bedingt</i> und geben die Anzahl der zu ignorierenden +Treffer und/oder die Bedingung ein. +<h2> +Watchpoints manipulieren</h2> +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 <a href="#StopProg">siehe oben</a>. +<p>Einen Watchpoint können Sie setzen, indem Sie einen Ausdruck im +Feld über der Liste eingeben und <i>Watchpoint</i> 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. +<p>Zum Entfernen eines Watchpoints wählen Sie diesen in der Liste +aus und klicken <i>Entfernen</i>. Falls der Ausdruck eine lokale Variable +enthält, wird der Watchpoint automatisch entfernt, sobald das Programm +die aktive Funktion verlässt. +<p>Wie mit Haltepunkten können Sie eine Bedingung oder eine Anzahl +zu ignorierender Stopps setzen, indem Sie den Watchpoint auswählen +und <i>Bedingt</i> klicken. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Globale Einstellungen</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Globale Einstellungen</h1> +Mit dem Menüpunkt <i>Datei|Globale Einstellungen</i> können Sie +folgende Optionen einstellen: +<ul> +<li> +den Befehl, mit dem gdb aufgerufen wird;</li> + +<li> +den Befehl, der das Fenster für die Programmausgabe öffnet,</li> + +<li> +ob KDbg in den Vordergrund kommen soll, sobald das Programm stoppt, und +eine Verzögerung, wann er sich wieder zurückzieht,</li> + +<li> +die Tabulatorweite.</li> +</ul> + +<h4> +Aufruf von gdb</h4> + +<blockquote>Wenn Sie eine alternative Version von gdb verwenden wollen, +geben sie diese unter <i>Aufruf von GDB</i> an. Die Standardeinstellung +ist <tt>gdb --fullname --nx</tt>. 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.</blockquote> + +<h4> +Aufruf eines Terminal-Emulators</h4> + +<blockquote>Falls Sie ein anderes Terminal-Programm verwenden wollen, das +die Ausgabe des Programms anzeigt, geben Sie dieses unter <i>Terminal für +die Programmausgabe</i> an. Die Standardeinstellung ist <tt>xterm -name +kdbgio -title %T -e sh -c %C</tt>. In diesem Eintrag wird <tt>%T</tt> durch +eine Überschrift und <tt>%C</tt> 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 +<tt>sleep +3600</tt> in einer Schleife auf :) Eine alternative für diesen Eintrag +wäre zm Beispiel <tt>konsole --name kdbgio --caption %T -e +sh -c %C</tt>.</blockquote> + +<h4> +In den Vordergrund</h4> + +<blockquote>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.</blockquote> + +<blockquote>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.</blockquote> + +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Wie kann ich...?</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Wie kann ich...?</h1> + +<h4> +... eine Haltepunkt setzen?</h4> +Dafür gibt's mehrere Möglichkeiten: +<ul> +<li> +Sie können im <a href="sourcecode.html">Quellcode-Fenster</a> in den +"aktiven Bereich" am linken Ende der Zeile klicken.</li> + +<li> +Sie können im Quellcode-Fenster eine Zeile auswählen und dann +im Menü <i>Haltepunkt</i> eine Auswahl treffen.</li> + +<li> +Sie können einen Haltepunkt in der <a href="breakptlist.html">Liste +der Haltepunkte</a> setzen.</li> +</ul> +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 <i>Ausführung|Unterbrechen</i> +an. Falls Sie dann noch immer keine Haltepunkte setzen können, versichern +Sie sich, dass Sie das Programm mit Debug-Information übersetzt <i>und +gebunden</i> haben. +<h4> +... den Wert einer globalen Variablen oder eines beliebigen Ausdrucks anzeigen?</h4> +Benutzen Sie das <a href="watches.html">Ausdrücke-Fenster</a>. +<h4> +... Watchpoints setzen?</h4> +Watchpoints können über die <a href="breakptlist.html">Liste +der Haltepunkte</a> bearbeitet werden. +<h4> +... einen Core-Dump benutzen?</h4> +Laden Sie zuerst das Programm mittels <i>Datei|Programm</i>, dann geben +Sie den Core-Dump mittels <i>Datei|Core dump</i> an. +<h4> +... ein Programm debuggen, das sich in eine Endlosschleife verlaufen hat?</h4> +Starten Sie das Programm und lassen Sie es laufen, bis es in die Endlosschleife +gelangt. Dann schalten Sie um zu KDbg und wählen <i>Ausführung|Unterbrechen</i>. +Hiermit haben Sie das Programm <i>in flagranti</i> erwischt! +<h4> +... erreichen, dass das Programm einigemale über einen Haltepunkt +drüberläuft, ohne anzuhalten?</h4> +In der <a href="breakptlist.html">Liste der Haltepunkte</a> wählen +Sie den Haltepunkt; dann klicken Sie <i>Bedingt</i> und geben die Anzahl +in <i>Ignoriere nächste Treffer</i> an. +<h4> +... eine Umgebungsvariable für das Programm setzen?</h4> +Wählen Sie <i>Ausführung|Argumente</i> und geben die Umgebungsvariable +im <a href="argspwdenv.html#Environment">Argumente-Dialog</a> an. +<h4> +... ein Arbeitsverzeichnis für das Programm wählen?</h4> +Wählen Sie <i>Ausführung|Argumente</i> und geben das Arbeitsverzeichnis +im <a href="argspwdenv.html#Environment">Argumente-Dialog</a> an. +<h4> +... das Terminal-Fenster los werden?</h4> +Wählen Sie <i>Datei|Einstellungen</i> und schalten auf das Register +<a href="pgmsettings.html#output">Ausgabe</a> +um. Wählen Sie <i>Nur Ausgabe, einfache Terminalemulation</i> und +klicken Sie <i>OK</i>. Nun müssen Sie das Programm neu laden (am einfachsten +wählen Sie es aus der Liste unter <i>Datei|Zuletzt geöffnete +Programme</i>). Die Programmausgaben werden nun in das eingebaute <a href="pgmoutput.html">Ausgabefenster</a> +geschrieben und stdin ist auf <tt>/dev/null</tt> umgeleitet. +<p>Sie müssen diese Einstellungen für jedes neue Programm wiederholen, +das Sie debuggen. +<p><b><i>Wichtig:</i></b> 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. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> + +<h1> +KDbg - Benutzerhandbuch</h1> + +<h2> +Inhalt</h2> + +<ul> +<li> +<a href="#Introduction">Einleitung</a></li> + +<li> +<a href="#UsingKDbg">Mit KDbg arbeiten</a></li> + +<li> +<a href="#InfoWindows">Die Informationsfenster von KDbg</a></li> + +<li> +<a href="#TipsTricks">Tipps und so weiter</a></li> + +<li> +Für Fortgeschrittene: <a href="../../en/kdbg/types.html">Typentabellen</a> +(nur Englisch)</li> + +<li> +<a href="#KnownProblems">Bekannte Probleme</a></li> + +<li> +<a href="#Author">Autor</a></li> +</ul> + +<hr> +<h2> +<a NAME="Introduction"></a>Einleitung</h2> +KDbg ist eine grafische Benutzeroberfläche für <tt>gdb</tt>, +den GNU-Debugger. +<p>Das bedeutet, dass KDbg selbst nicht der Debugger ist. Vielmehr kommuniziert +KDbg mit <tt>gdb</tt>, indem Befehlszeilen and diesen geschickt werden +und die Ausgabe, wie z.B. Variablenwerte, entgegengenommen werden. Die +Menübefehle und Mausklicks werden in <tt>gdb</tt>-Befehle umgesetzt, +und die Ausgabe von <tt>gdb</tt> wird in (mehr oder weniger) sichtbare +Information umgesetzt, wie zum Beispiel die Struktur von Variablen. +<p>Eine Folge davon ist, dass KDbg vollständig von den Fähigkeiten +des verwendeten Befehlszeilendebuggers, <tt>gdb</tt>, abhängig ist. +KDbg kann nicht mehr als <tt>gdb</tt> leisten. Wenn Sie zum Beispiel einen +<tt>gdb</tt> +haben, der Programme mit Threads nicht unterstützt, dann kann auch +KDbg das nicht (obwohl ein Threads-Fenster vorhanden ist). +<h2> +<a NAME="UsingKDbg"></a>Mit KDbg arbeiten</h2> +Bevor Sie mit der Arbeit beginnen, sollten Sie die <a href="globaloptions.html">globalen +Einstellungen</a> prüfen, indem Sie <i>Datei|Globale Einstellungen</i> +aufrufen. +<h4> +Ein zu debuggendes Program angeben</h4> +Um ein Programm zu debuggen, wählen Sie <i>Datei|Programm</i>. Wenn +Sie das Programm schon einmal debuggt haben, können Sie es auch aus +der Liste unter <i>Datei|Zuletzt göffnete Programme</i> wählen. +Das Programm wird jetzt geladen. +<p>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 <i>Datei|Core dump</i> aus dem Menü. KDbg zeigt +die Stelle an, die den Core-Dump verursacht hat. +<p>Sie können nun Haltepunkte setzen, indem Sie die Einträge +im Menü <i>Haltepunkt</i> oder im Rechte-Maus-Menü oder in der +<a href="breakptlist.html">Liste +der Haltepunkte</a> verwenden. +<p>Sie können auch <a href="pgmsettings.html">programmspezifische +Einstellungen</a> vornehmen, indem Sie <i>Datei|Einstellungen</i> wählen. +<h4> +Das Programm ausführen</h4> +Nun führen Sie das Programm aus, indem Sie <i>Ausführung|Ausführen</i> +wählen. Das Programm arbeitet nun wie gewöhnlich, bis es beendet +wird, auf einen Haltepunkt oder Watchpoint trifft, oder ein Signal empfängt. +<p>Sie können das Programm mit Argumenten ausführen, ein Arbeitsverzeichnis +festlegen und auch Umgebungsvariablen definieren. Dazu wählen Sie +<i>Ausführung|Argumente</i> +und machen Ihre Angaben im <a href="argspwdenv.html">Programmargumente-Dialog</a>. +<p>Weiters können Sie sich in ein Programm einhängen (<i>attachen</i>), +das bereits ausgeführt wird. Dazu laden Sie das Programm zuerst wie +oben beschrieben, dann wählen Sie <i>Ausführung|Attachen</i>. +Geben Sie die Prozessnummer an und klicken Sie <i>OK</i>. Das Programm +wird jetzt angehalten (aber nicht beendet), und der derzeitige Stand des +Programms wird im <a href="sourcecode.html">Quellcode-Fenster</a> angezeigt. +<h4> +Das Programm wurde angehalten - was nun?</h4> +Wenn das Programm an einem Haltepunkt, Watchpoint oder wegen eines Signals +angehalten wird, zeigt das <a href="sourcecode.html">Quellcode-Fenster</a> +die Zeile, in der das Programm gerade arbeitete. Es passiert häufig, +dass das Programm wegen eine Signals (oftmals <tt>SIGSEGV</tt>, Speicherzugriffsfehler) +in einer Funktion angehalten wird, die sich nicht in jenem Programmteil +befindet, den Sie geschrieben haben. In diesem Fall betrachten Sie das +<a href="stack.html">Stack-Fenster</a> +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. +<p>Im Menü <i>Ausführung</i> 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. +<br><font size=-1>Diese Funktionen sind nicht konfigurierbar, aber vielleicht +wollen Sie ein Stückchen Code beisteuern, mit dem das geht?</font> +<p>Im Menü <i>Haltepunkt</i> finden Sie Befehle zum Setzen, Entfernen, +Aktivieren und Inaktivieren von permanenten und temporären Haltepunkten. +Natürlich können Sie auch eine <a href="breakptlist.html">Liste +der Haltepunkte</a> 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. +<p>Das Zahnrad in der Werkzeugleiste zeigt an, ob <tt>gdb</tt> 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. +<h2> +<a NAME="InfoWindows"></a>Die Informationsfenster von KDbg</h2> +KDbg zeigt Information in einer Reihe verschiedener Fenster an. Im Menü +<i>Ansicht</i> +finden Sie die Befehle, die diese Fenster anzeigen und schliessen. Es handelt +sich dabei um <i>dockende</i> Fenster, sodass Sie deren Anordnung beliebig +verändern können. +<ul> +<li> +<a href="sourcecode.html">Das Quellcode-Fenster</a></li> + +<li> +<a href="localvars.html">Lokale Variablen</a></li> + +<li> +<a href="stack.html">Der Programm-Stack</a></li> + +<li> +<a href="watches.html">Ausdrücke (<i>Watches</i>)</a></li> + +<li> +<a href="breakptlist.html">Die Liste der Haltepunkte</a></li> + +<li> +<a href="pgmoutput.html">Das Programmausgabefenster</a></li> + +<li> +<a href="registers.html">Die Registerinhalt</a></li> + +<li> +<a href="memory.html">Der Speicherinhalt</a></li> + +<li> +<a href="threads.html">Die Programm-Threads</a></li> +</ul> + +<h2> +<a NAME="TipsTricks"></a>Tipps und so weiter</h2> + +<ul> +<li> +<a href="tips.html">Tipps</a></li> + +<li> +<a href="howdoi.html">Wie kann ich...?</a></li> +</ul> + +<h2> +<a NAME="KnownProblems"></a>Bekannte Probleme</h2> +<tt>gdb </tt>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 <tt>gdb</tt> unerwartet beendet wird. Leider lässt sich nicht +wirklich was dagegen unternehmen. Sie müssen <tt>gdb</tt> mittels +<i>Datei|Programm</i> +neu starten, das heißt auch für die Debug-Sitzung zurück +an den Start :-(. +<p>Die Typerkennung von KDbg arbeitet nur, wenn die Bibilotheken dynamisch +ins Programm gebunden sind. +<h2> +<a NAME="Author"></a>Autor</h2> +KDbg wurde von <a href="mailto:[email protected]">Johannes Sixt</a> +mit vielen weiteren Helfern geschrieben. +<br>Die KDbg-Homepage befindet sich unter <a href="http://www.kdbg.org/">http://www.kdbg.org/</a>. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.18-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Lokale Variablen</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Lokale Variablen</h1> +Mittels <i>Ansicht|Lokale Variablen</i> wird das Fenster für die lokalen +Variablen angezeigt. Darin wird der Inhalt der lokalen Variablen des aktiven +Stack-Frames angezeigt. +<p>Das im <a href="stack.html">Stack-Fenster</a> ausgewählte Frame +bestimmt die lokalen Variablen, die hier angezeigt werden. +<p>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. +<p>Sie können die ausgewählte Variable oder Struktur-Member in +das <a href="watches.html">Ausdrückefenster</a> kopieren, indem Sie +mittels der rechten Maustaste das kleine Kontextmenü aufrufen. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Speicherinhalt</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Der Speicherinhalt</h1> +Das Fenster zur Anzeige des Speicherinhalts können Sie mittels <i>Ansicht|Speicher</i> +aufrufen. Es zeigt den Inhalt des Speichers des Programms an beliebigen +Adressen an. +<p>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. +<p>Sie können ein Format wählen, wie der Speicherinhalt dargestellt +werden soll, indem Sie die entsprechenden Optionen im Rechte-Maus-Menü +wählen. +<p>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. +<p>Wenn Sie keinen Speicherinhalt ansehen wollen, empfehlen wir, dass Sie +die Adresse löschen, damit kein Speicherinhalt angezeigt wird - dadurch +arbeitet KDbg etwas schneller. +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Programmausgabe</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Das Programmausgabefenster</h1> +Das Programmausgabefenster wird mit <i>Ansicht|Ausgabe</i> geöffnet. +Das Ausgabefenster zeichnet den Text auf, den das Programm auf <tt>stdout</tt> +und <tt>stderr</tt> ausgibt. +<p>Das Ausgabefenster lässt keine Eingabe zu und unterstützt +nur eine äußerst minimale Terminalemulation: Lediglich <tt>\n</tt> +(Zeilenvorschub, line-feed), <tt>\t</tt> (horizontaler Tabulator) und +<tt>\r</tt> (Wagenrücklauf, carriage-return) werden behandelt. +Das reicht im Allgemeinen für Programme mit grafischer Benutzeroberfläche +aus, die nur Debug-Ausgaben schreiben. +<p>Wenn ein Programm zum ersten Mal in KDbg geladen wird, wird dieses Ausgabefenster +<i>nicht</i> 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: +<ol> +<li> +Rufen Sie mittels <i>Datei|Einstellungen</i> die <a href="pgmsettings.html">programmspezifischen +Einstellungen</a> auf.</li> + +<li> +Schalten Sie auf das Register <i>Ausgabe</i> um.</li> + +<li> +Wählen Sie <i>Nur Ausgabe, einfache Terminalemulation</i> und klicken +Sie <i>OK</i>.</li> + +<li> +Laden Sie das Programm erneut, indem Sie es aus der Liste unter <i>Datei|Zuletzt +geöffnete Programme</i> wählen.</li> +</ol> +Sie können den Inhalt des Fensters jederzeit löschen, indem Sie +<i>Löschen</i> aus dem Popup-Menü wählen, das Sie mit der +rechten Maustaste aufrufen können. +<p>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. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <title>KDbg - Benutzerhandbuch - Programmspezifische Einstellungen</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Programmspezifische Einstellungen</h1> +In diesem Dialog können programmspezifischen Einstellungen getroffen +werden. Der Dialog wird mittels <i>Datei|Einstellungen</i> aufgerufen. +Die Einstellungen werden nur auf das geladene Programm angewendet und bleiben +über Sitzungen hinweg erhalten. +<blockquote><b><i>Wichtiger Hinweis:</i></b> Die getroffenen Einstellungen +werden erst wirksam, wenn das Programm das <i>nächste Mal geladen</i> +wird. Das bedeutet, dass Sie nach dem Drücken von OK in diesem Dialog +das Programm erneut laden müssen (mittels <i>Datei|Programm</i>)!!</blockquote> + +<ul> +<li> +<a href="#driver">Debugger</a></li> + +<li> +<a href="#output">Ausgabe</a></li> +</ul> + +<h2> +<a NAME="driver"></a>Debugger</h2> +Hier kann der Debugger gewählt werden, der für dieses Programm +verwendet werden soll. +<h4> +Aufruf von GDB</h4> + +<blockquote>Geben Sie den Befehl an, mit dem <tt>gdb</tt> aufgerufen werden +soll. Wenn Sie das Feld leer lassen, wird die <a href="globaloptions.html">globale +Einstellung</a> übernommen. Wenn Sie cross-compilieren oder remote +debuggen, werden Sie hier einen <tt>gdb</tt>-Befehl angeben, der für +die Zielplattform geeignet ist. Die Standardeinstellung ist <tt>gdb --fullname --nx</tt>. +Sie müssen auf jeden Fall auch diese Optionen angeben, andernfalls +funktioniert KDbg nicht.</blockquote> + +<h2> +<a NAME="output"></a>Ausgabe</h2> +Hier geben Sie an, unter welcher Terminalemulation das Programm arbeitet. +<h4> +Keine Ein- und Ausgabe</h4> + +<blockquote>Wählen Sie diese Option, falls Ihr Programm keine Eingabe +vom Terminal erwartet und Sie keine Ausgabe sehen wollen, die auf <tt>stdout</tt> +oder <tt>stderr</tt> geschrieben wird. Alle drei Standardkanäle (<tt>stdin</tt>, +<tt>stdout</tt> +und <tt>stderr</tt>) werden praktisch nach <tt>/dev/null</tt> umgeleitet.</blockquote> + +<h4> +Nur Ausgabe, einfache Terminalemulation</h4> + +<blockquote>Wählen Sie diese Option, falls Ihr Programm keine Eingabe +vom Terminal erwartet (<tt>stdin</tt> wird nach <tt>/dev/null</tt> umgeleitet) +und die Ausgabe, die auf <tt>stdout</tt> und <tt>stderr</tt> geschrieben +wird, keine besondere Terminalemulation erfordert. Die Ausgabe wird im +<a href="pgmoutput.html">Ausgabefenster</a> +angezeigt. +<br><i>Wichtig:</i> Die eingebaute Terminalemulation interpretiert nur +den Zeilenvorschub <tt>\n</tt> (line-feed, ASCII 10) als Zeilenumbruch. +Das Zeichen für den Wagerücklauf <tt>\r</tt> (carriage-return, +ASCII 13) wird <i>nicht</i> behandelt. Das ist ausreichend für Debug-Ausgaben, +wie sie häufig beim Programmierern grafischer Benutzeroberflächen +verwendet wird.</blockquote> + +<h4> +Volle Terminalemulation</h4> + +<blockquote>Wählen Sie diese Option, falls Ihr Programm Eingaben über +<tt>stdin</tt> +liest oder falls die Ausgabe auf <tt>stdout</tt> oder <tt>stderr</tt> Terminalemulation +erfordert. Ein Terminalemulator kann in den <a href="globaloptions.html">globalen +Einstellungen</a> angegeben werden.</blockquote> + +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Registerinhalt</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Der Registerinhalt</h1> +Das Fenster zur Anzeige des Registerinhalts wird mittels <i>Ansicht|Register</i> +angezeigt. Jedesmal, wenn das Programm angehalten wird, zeigt Kdbg hier +den Inhalt der CPU-Register an. +<p>Das Fenster ist in 3 Spalten aufgeteilt: +<ol> +<li> +Die Spalte <i>Register</i> zeigt die Namen der Register.</li> + +<li> +Die Spalte <i>Wert</i> 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.</li> + +<li> +Die Spalte <i>Dekodierter Wert</i> 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 <tt>gdb</tt> ab).</li> +</ol> +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. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Quellcode</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Das Quellcode-Fenster</h1> +Das Quellcode-Fenster ist das Hauptfenster und ist immer sichtbar. +<p>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. +<p>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. +<p>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. +<p>Meistens werden Quellcode-Dateien automatisch geöffnet. Sie können +Dateien manuell öffnen, indem Sie <i>Datei|Quellcode öffnen</i> +wählen oder <i>Quellcode öffnen</i> aus dem Rechte-Maus-Menü. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Stack</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Das Stack-Fenster</h1> +Das Stack-Fenster wird mittels <i>Ansicht|Stack</i> 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. +<p>Das innerste Frame (in dem sich das Programm gerade befindet) befindet +sich an erster Stelle. +<p>Sie können in ein anderes Stack-Frame umschalten, indem Sie einfach +auf die entsprechende Zeile klicken. Das <a href="sourcecode.html">Quellcode-Fenster</a> +zeigt die Stelle an, in der der Aufruf in das nächst-innere Frame +stattfand; die Anzeige der <a href="localvars.html">lokalen Variablen</a> +und die <a href="watches.html">Ausdrücke</a> werden umgeschaltet, +sodass die lokalen Variablen des gewählten Frames angezeigt werden. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Threads</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Die Programm-Threads</h1> +Das Fenster mit der Liste der Programm-Threas wird mittels <i>Ansicht|Threads</i> +aufgerufen. Dieses Fenster listet die aktiven Threads des Programms auf. +<p><b><i>Wichtig:</i></b> Das Debuggen von Programm-Threads muss von der +verwendeten <tt>gdb</tt>-Version unterstützt werden - es handelt sich +hierbei nicht um ein Feature von KDbg. Für Linux-Systeme (i386) funktioniert +<tt>gdb5</tt> +am besten. +<p>Der Inhalt des Fensters wird jedesmal erneuert, wenn das Programm vom +Debugger angehalten wird. (Das heisst, dass <i>nicht</i> der aktuelle Zustand +des Programms angezeigt wird, während es läuft.) +<p>Die erste Spalte zeigt die Thread-ID an, die zweite Spalte zeigt die +Stelle, an der der Thread gerade abgearbeitet wird. +<p>Die Markierung am Zeilenanfang benennt den <i>aktiven</i> Thread: +<ul> +<li> +Das <a href="stack.html">Stack-Fenster</a> zeigt den Call-Stack des +aktiven Threads.</li> + +<li> +Das <a href="localvars.html">Fenster mit den lokalen Variablen</a> zeigt +die lokalen Variablen des aktiven Threads.</li> + +<li> +Das <a href="watches.html">Ausdrücke-Fenster</a> verwendet zur Evaluierung +der Ausdrücke die lokalen Variablen des aktiven Threads.</li> +</ul> +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 <a href="sourcecode.html">Quellcode-Fenster</a> +zu der Programmstelle um, an der der aktive Thread angehalten wurde. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Tipps</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h2> +Tipps und Tricks</h2> + +<ul> +<li> +Setzen Sie immer die Umgebungsvariable <tt>LD_BIND_NOW=1</tt> auf glibc2-Systems. +Wie Umgebungsvariablen gesetzt werden, wird <a href="argspwdenv.html#Environment">hier +erklärt</a>.</li> + +<li> +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 <i>Code anzeigen</i> 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.</li> + +<li> +Auf folgende Weise können Sie Programmvariablen ändern: Im Watch-Bereich +(rechts unten) geben Sie eine Zuweisung ein, z.B. <tt>var.member=17</tt> +und Klicken <i>Neu</i>. Die entsprechende Variable wird sofort geändert. +Sie sollten die Variable nun sofort löschen (indem Sie sie auswählen +und <i>Entf</i> klicken). Das ist notwendig, weil der Ausdruck (d.h die +Zuweisung) sonst bei jedem Programmstopp ausgewertet wird.</li> + +<li> +Sie können Werte im Watch-Bereich in den verschiedenen Formaten anzeigen +lassen, die gdb versteht. Z.B. zeigt <tt>/x var.member</tt> die Variable +<tt>var.member</tt> +in hexadezimaler Notation an.</li> +</ul> + +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.18-SMP i686) [Netscape]"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Benutzerhandbuch - Ausdrücke</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">Inhalt</a> +<h1> +Ausdrücke (Watches)</h1> +Das Watches-Fenster wird mittels <i>Ansicht|Ausdrücke</i> angezeigt. +Dieses zeigt beliebige Ausdrücke an (diese bezeichnet man auch als +<i>Watches</i>). +<p>Ein neuer Ausdruck wird hinzugefügt, indem dieser im Eingabefeld +eingegeben wird und dann auf <i>Neu</i> geklickt wird. Um einen Ausdruck +zu entfernen, klicken Sie diesen an (an der Wurzel des entsprechenden Baums) +und klicken dann auf <i>Entf</i>. +<p>Sie können auch eine Variable oder einen Struktur-Member aus dem +<a href="localvars.html">Lokale-Variablen-Fenster</a> herüberkopieren, +indem Sie das dortige Kontextmenü zuhilfe nehmen. +<p>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. +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Arguments, Environment</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +Specifying program arguments, working directory, environment variables</h1> +<p>Choose <i>Execution|Arguments</i> to open a dialog where you can set program +arguments, the working directory for your program, and environment variables.</p> +<h2><a name="PgmArgs"></a>Tab Arguments</h2> +<p>In the edit box enter the arguments that shall be passed on to your +program. <i>Insert file name</i> lets you browse for a file; +the file name will be <em>inserted</em> in the edit box (at the cursor position).</p> +<p>Next time the program is started, the new arguments will be used.</p> +<h2><a name="WorkingDir"></a>Tab Working Directory</h2> +<p>In the edit box you can specify the working directory for your program. +<i>Browse</i> lets you browse for a directory. +Your program will use the new directory only when it is run the next time.</p> +<p>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 <i>OK</i>. This can influence whether +source code files are found.</p> +<h2><a name="Environment"></a>Tab Environment</h2> +<p>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 <tt>VARIABLE=value</tt> +to set the environment variable <tt>VARIABLE</tt> to the value <tt>value</tt>, +and click <i>Modify</i>. To remove a variable, select it from the list +below and click <i>Delete</i>. To change the value, edit the value in the +edit field and click <i>Modify</i>. If you change the name of the variable +and click <i>Modify</i>, you add a new variable! The new environment variables +will be used by your program the next time it is run.</p> +<h2>Tab xsldbg Settings</h2> +<p>This tab is only available when a <a href="xslt.html">XSLT script is +debugged</a>. Here you can specify various flags that influence the +XSL translation and XSLDBG.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Breakpoint list</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Breakpoint List</h1> +<p>The breakpoint list displays all breakpoints and watchpoints that are set +and allows you to manipulate them. It can be displayed using <i>View|Breakpoints</i>.</p> +<h2> +The list of breakpoints</h2> +<p>For each breakpoint the following is shown:</p> +<ul> +<li> +the breakpoint location,</li> + +<li> +the hit count,</li> + +<li> +the ignore count if set,</li> + +<li> +the condition if set.</li> +</ul> +<p>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 <em>orphaned</em> +(a 'x' is overlaid).</p> +<p>Watchpoints are indicated by an eye glas icon in front of the line.</p> +<h2> +<A name="orphanedbp"></A>Orphaned breakpoints</h2> +<p><em>Orphaned breakpoints</em> 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.</p> +<p>But there is an important consequence: Orphaned breakpoints are not effective, +and the program will <em>not</em> 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 <tt>main()</tt> +and for dynamically loaded modules it is after the call to <tt>dlopen()</tt> +(or equivalent). When the program stops at this breakpoint the orphaned +breakpoints from the dynamic module are set and become effective.</p> +<h2> +Manipulating breakpoints</h2> +<p><a name="StopProg"></a>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 <i>Execution|Break</i>. Note +that this will not terminate the program, it just interrupts it. You can +now manipulate the breakpoints; then choose <i>Execution|Continue</i> to +let the program continue.</p> +<p>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 <i>Add Breakpoint</i>.</p> +<p>You can disable and enable breakpoints by selecting them in the list +and clicking <i>Disable</i> or <i>Enable</i>. 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.</p> +<p>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 <i>Conditional</i> button and enter the condition and/or ignore +count.</p> +<h2> +Manipulating watchpoints</h2> +<p>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 <a href="#StopProg">above</a> +for more information.</p> +<p>To set a watchpoint, type an expression in the edit box above the list, +then click <i>Add Watchpoint</i>. 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 <i>Execution|Break</i>).</p> +<p>To remove the watchpoint, select it from the list and click <i>Remove</i>. +If the expression involves a local variable, the watchpoint will be removed +automatically when the program leaves the current frame.</p> +<p>You can set a condition and an ignore count on the watchpoint just like +on breakpoints by selecting it and clicking <i>Conditional</i>.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Global Options</title> +</head> +<body text="#000000" bgcolor="#ffffff"> +<p><a href="index.html">Contents</a></p> +<h1> +Global Options Dialog</h1> +<p>To specify some global options, choose <i>Settings|Global Options</i>. You +can set the following:</p> +<ul> +<li> +the command by which gdb is invoked,</li> + +<li> +the command that opens a terminal for the program's output,</li> + +<li> +whether the KDbg shall pop into the foreground when the program stops and +a timeout when it shall go back again,</li> + +<li> +the tab width,</li> + +<li> +filters for source file names.</li> +</ul> + +<h4> +How to invoke gdb</h4> + +<blockquote>If you want to use a different version of gdb, you can specify +it under +<i>How to invoke GDB</i>. The default command is <tt>gdb --fullname +--nx</tt>. 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.</blockquote> + +<h4> +How to invoke a terminal emulator</h4> + +<blockquote>If you want to use a different terminal program to show the +output of the program, specify it under <i>Terminal for program output</i>. +The default setting is <tt>xterm -name kdbgio -title %T -e sh -c %C</tt>. +In this entry, +<tt>%T</tt> will be replaced by a title string, <tt>%C</tt> +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 <tt>sleep +3600</tt> in a loop :) An alternative for this setting could be <tt>konsole +--name kdbgio --caption %T -e sh -c %C</tt>.</blockquote> + +<h4> +Pop into foreground</h4> + +<blockquote>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.</blockquote> + +<blockquote>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 <i>Step</i> +commands.</blockquote> + +<h4> +File filters</h4> + +<blockquote>You can specify wildcards for source files and header files, +which are used in the file dialog of the <i>File|Open Source</i> +command.</blockquote> + +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - How Do I...?</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +How Do I...?</h1> + +<h4> +... set breakpoints?</h4> +<p>There's more than one way to set a breakpoint:</p> +<ul> +<li> +You can set it in the source window by clicking on the "active area" at +the far left of the line.</li> + +<li> +You can set it by selecting the line in the source window and choosing +an option from the <i>Breakpoint</i> menu.</li> + +<li> +You can set it in the <a href="breakptlist.html">breakpoint list</a>.</li> +</ul> +<p>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 +<i>Execution|Break</i>. +If you still can't set breakpoints, make sure that you have compiled <em>and +linked</em> your program with debugging information enabled.</p> +<h4> +... display the value of a global variable or an arbitrary expression?</h4> +<p>Use the <A href="watches.html">Watch window</A>.</p> +<h4> +... set watchpoints?</h4> +<p>Watchpoints are manipulated in the <a href="breakptlist.html">breakpoint +list</a>.</p> +<h4> +... use a core dump?</h4> +<p>First load the executable using <i>File|Executable</i>, then specify the +core dump using <i>File|Core dump</i>.</p> +<h4> +... debug a program that's caught in an endless loop?</h4> +<p>Start the program and let it run until it is in the endless loop. Then +switch to KDbg and choose <i>Execution|Break</i>. You've just caught the +nasty program <em>in flagranti</em>!</p> +<h4> +... achieve that the program passes over a breakpoint a number of times +before it stops?</h4> +<p>In the <a href="breakptlist.html">breakpoint list</a> select the breakpoint; +then click <i>Conditional</i> and specify the number of times to skip the +breakpoint in the <i>Ignore count</i> field.</p> +<h4> +... set environment variables for the executable?</h4> +<p>Select <i>Execution|Arguments</i> and specify the environment variables +in the <a href="argspwdenv.html#Environment">program arguments dialog</a>.</p> +<h4> +... set a working directory for the executable?</h4> +<p>Select <i>Execution|Arguments</i> and specify the working directory in +the <a href="argspwdenv.html#WorkingDir">program arguments dialog</a>.</p> +<h4> +... get rid of this terminal window?</h4> +<p>Select <i>Settings|This Program</i> and switch to the <a href="pgmsettings.html#output">Output</a> tab. +Select <i>Only output, simple terminal emulation</i> and click <i>OK</i>. +Now restart the program (choose it from the list under <i>File|Recent Executables</i>). +The program output goes now to the built-in <a href="pgmoutput.html">output +window</a> and stdin is redirected to <tt>/dev/null</tt>.</p> +<p>You must do this for every new program that you debug.</p> +<p><b><i>Important:</i></b> 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.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> + +<h1> +KDbg - User's Manual</h1> + +<h2> +Contents</h2> + +<ul> +<li> +<a href="#Introduction">Introduction</a></li> + +<li> +<a href="#UsingKDbg">Using KDbg</a></li> + +<li> +<a href="#InfoWindows">KDbg's information windows</a></li> + +<li> +<a href="#Tips">Tips and such</a></li> + +<li> +Advanced topic: <a href="types.html">Type tables</a></li> + +<li> +<a href="invocation.html">How to invoke KDbg from the command line</a></li> + +<li> +<a href="#Author">Author</a></li> +</ul> + +<hr> +<h2> +<a name="Introduction"></a>Introduction</h2> +<p>KDbg is a front-end for <tt>gdb</tt>, the GNU debugger.</p> +<p>This means that KDbg itself is not the debugger. Rather, it communicates +with <tt>gdb</tt>, 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 <tt>gdb</tt> commands, and the output of <tt>gdb</tt> +is translated into (more or less) visible information, such as structured +variable contents.</p> +<p>The upshot of all this is that KDbg completely relies on the capabilities +of the underlying command line debugger, <tt>gdb</tt>. KDbg can do no more +than <tt>gdb</tt> can. For example, if you have a <tt>gdb</tt> that does +not supports debugging of threaded programs, KDbg cannot, either (even +though it offers a threads window).</p> +<h2> +<a name="UsingKDbg"></a>Using KDbg</h2> +<p>Before you start using KDbg, you may want to review the options in the +<a href="globaloptions.html">Global Options</a> dialog that you invoke +with <i>Settings|Global Options</i>.</p> +<h4> +Specifying a debugging target</h4> +<p>To debug a program, choose <i>File|Executable</i> from the menu. If you +have debugged the program earlier, you can choose it from <i>File|Recent +Executables</i>. The program is loaded.</p> +<p>If you want to debug a core dump, you must first load the executable +that produced the core dump, then choose +<i>File|Core Dump</i> from the +menu. Now KDbg goes to the point in the program that caused the core dump.</p> +<p>You can now set breakpoints, using the <i>Breakpoint</i> menu, the right +mouse button menu, or the <a href="breakptlist.html">breakpoint window</a>.</p> +<p>You can also choose program specific settings that apply only to the +currently loaded executable using <i>Settings|This Program</i>, in the +<a href="pgmsettings.html">Program Settings</a> dialog.</p> +<p>Furthermore, it is possible to <a href="xslt.html">debug XSLT scripts</a>.</p> +<h4> +Running the program</h4> +<p>Now run the program by selecting <i>Execution|Run</i>. The program now +executes as usual until it either exits, hits a breakpoint or watchpoint, +or receives a signal.</p> +<p>You can run the program with arguments, set a working directory, or +set environment variables. To do this, choose <i>Execution|Arguments</i> +and specify your options in the <a href="argspwdenv.html">Program Arguments</a> +dialog (before you start the program).</p> +<p>You can also attach to a program that is currently running. To do this, +first load the executable file like above. Then choose <i>Execution|Attach</i>. +From the list processes specify the one you want to attach to +and click <i>OK</i>. The running program is +halted (not terminated), and the current point of execution is displayed +in the source window.</p> +<p><font size="-1">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.</font></p> +<h4> +The program stopped - now what?</h4> +<p>When the program stops at a breakpoint, watchpoint, or due to a signal, +the <a href="sourcecode.html">source code window</a> displays the line +where the program stopped. It is very common that the program stops due +to a signal (usually a <tt>SIGSEGV</tt>, segmentation violation) in a function +that is not part of the program, that you have written. In this case you +investigate the <a href="stack.html">stack window</a> 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.</p> +<p>In the menu <i>Execution</i> you find the commands that you need to +run +the program, step through code, and to interrupt the program (<i>Break</i>) +while it is running. The important commands (<i>Run</i> and all kinds of +<i>Step</i>) are bound to function keys. For efficient debugging it is +strongly recommend that you get used to using them. You can use +<i>Settings|Configure Shortcuts</i> if you want to bind the functions +to different keys.</p> +<p>In the menu <i>Breakpoint</i> you find commands to set, clear, disable, +and enable permanent and temporary breakpoints. You can display a list +of breakpoints in the <a href="breakptlist.html">breakpoints window</a>. +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.</p> +<p>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 <i>Execution|Break</i>.</p> +<h2> +<a name="InfoWindows"></a>KDbg's information windows</h2> +<p>KDbg displays information and accepts commands in number of different windows. +In the menu <i>View</i> 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.</p> +<ul> +<li> +<a href="sourcecode.html">The source code window</a></li> + +<li> +<a href="localvars.html">The local variables window</a></li> + +<li> +<a href="stack.html">The stack window</a></li> + +<li> +<a href="watches.html">The watched expressions window</a></li> + +<li> +<a href="breakptlist.html">The breakpoint list</a></li> + +<li> +<a href="pgmoutput.html">The output window</a></li> + +<li> +<a href="registers.html">The register dump window</a></li> + +<li> +<a href="memory.html">The memory dump window</a></li> + +<li> +<a href="threads.html">The threads window</a></li> +</ul> + +<h2> +<a name="Tips"></a>Tips and such</h2> +<p>The following topics give some useful hints on using KDbg.</p> +<ul> +<li> +<a href="tips.html">Tips and Tricks</a></li> + +<li> +<a href="howdoi.html">How do I...?</a></li> +</ul> + +<h2> +<a name="Author"></a>Author</h2> +<p>KDbg is written by <a href="mailto:[email protected]">Johannes Sixt</a> +with contributions from these people (in no particular order):</p> +<ul> +<li>Keith Isdale</li> +<li>Ben Burton</li> +<li>Daniel Thor Kristjansson</li> +<li>Matthew Allen</li> +<li>Ron Lerech</li> +<li>Neil Butterworth</li> +<li>Thomas Sparr</li> +<li>Max Judin</li> +<li>Johnny Chan</li> +<li>Ilmar S. Habibulin</li> +</ul> +<p>KDbg homepage is at <a href="http://www.kdbg.org/">http://www.kdbg.org/</a>.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - Invocation</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1>Invoking KDbg from the command line</h1> +<p><pre> +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 +</pre></p></body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Local Variables</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Local Variables Window</h1> +<p>The local variables window is opened using <i>View|Locals</i>. The local +variables window displays the contents of the local variables at the currently +selected stack frame.</p> +<p>The set of local variables that are displayed is determined by the stack +frame that is selected in the <A href="stack.html">stack window</A>.</p> +<p>Variable values that changed between stops of the program are displayed +in red color.</p> +<p>The values of most variables can be changed. For this purpose, press F2 +while the input focus is in the window or choose <i>Edit value</i> from the +context menu. Then edit the value and hit Enter. Note that you cannot modify +the strings that <tt>char*</tt> values point to in this way, just the pointer +value.</p> +<p>Using the context menu you can move +the active variable or structure member to the <a href="watches.html">watched +expressions window</a>.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Memory Dump</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Memory Dump Window</h1> +<p>The memory dump window is displayed using <i>View|Memory</i>. It displays +the contents of the program's memory at arbitrary adresses.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Program Output</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Program Output Window</h1> +<p>The program output window is displayed using <i>View|Output</i>. The output +window captures text that is written to stdout and stderr by the program +being debugged.</p> +<p>The output window does not allow to type input for the program and it +features only minimal terminal emulation: <tt>\n</tt> (line-feed), +<tt>\t</tt> (horizontal tab), and <tt>\r</tt> (carriage-return) +are treated. These capabilities are usually sufficient to debug GUI programs +which only write debugging output to stdout and stderr.</p> +<p>When a program is debugged with KDbg for the first time, the program +output window is <em>not</em> 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:</p> +<ol> +<li> +Open the <a href="pgmsettings.html">Settings dialog</a> by selecting <i>Settings|This Program</i>.</li> + +<li> +Switch to the <i>Output</i> tab.</li> + +<li> +Choose <i>Only output, simple terminal emulation</i> and click <i>OK</i>.</li> + +<li> +Reload the program by selecting it from the list in <i>File|Recent Executables</i>.</li> +</ol> +<p>You can clear the contents of the output window by selecting <i>Clear</i> +from the popup menu that appears when you click the right mouse button.</p> +<p>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.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Program Settings</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Program Settings Dialog</h1> +<p>In this dialog, program specific settings can be selected. It is invoked +by <i>Settings|This Program</i>. The settings apply only to the currently loaded +executable and will be saved across sessions.</p> +<blockquote><b><i>Important note:</i></b> The chosen settings will only +apply the next time the executable is loaded into KDbg. This means that +after pressing +<i>OK</i> in this dialog, you must reload the executable +using <i>File|Recent Executables</i>!!</blockquote> + +<ul> +<li> +<a href="#driver">Debugger</a></li> + +<li> +<a href="#output">Output</a></li> +</ul> + +<h2> +<a name="driver"></a>Debugger</h2> +<p>In this section, the debugger to be used for the program can be chosen.</p> +<h4> +How to invoke GDB</h4> + +<blockquote>Enter the command to invoke gdb. Leave this field empty to +use the default gdb command as specified in the <a href="globaloptions.html">global +options</a>. 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 <tt>gdb --fullname --nx</tt>. Be sure to specify +at least <tt>--fullname</tt> if you change the gdb command. +If you remove this command switch, KDbg will not work. +</blockquote> + +<h2> +<a name="output"></a>Output</h2> +<p>In this section, the terminal emulation under which the program will run +can be selected.</p> +<h4> +No input and output</h4> + +<blockquote>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 <tt>stdout</tt> and <tt>stderr</tt> (if any). All three standard channels +(<tt>stdin</tt>, <tt>stdout</tt>, and <tt>stderr</tt>) are effectively +redirected to <tt>/dev/null</tt>.</blockquote> + +<h4> +Only output, simple terminal emulation</h4> + +<blockquote>Check this option if your program does not receive input from +the terminal (<tt>stdin</tt> will be redirected to <tt>/dev/null</tt>), +and the output that it writes to <tt>stdout</tt> and <tt>stderr</tt> does +not require sophisticated terminal emulation. The output will be shown +in the <a href="pgmoutput.html">Output window</a>. +<br><i>Important:</i> The integrated terminal emulator will only interpret +the line-feed character <tt>\n</tt> (ASCII 10) to break lines. It will +<em>not</em> +handle the carriage-return character <tt>\r</tt> (ASCII 13). This is sufficient +for displaying plain debugging output that is often used by developers +of GUI programs.</blockquote> + +<h4> +Full terminal emulation</h4> + +<blockquote>Check this option if your program reads input from <tt>stdin</tt> +or if the output to <tt>stdout</tt> or <tt>stderr</tt> requires terminal +emulation. A terminal emulator will be invoked as specified in the <a href="globaloptions.html">global +options</a>.</blockquote> + +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Register Dump</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Register Dump Window</h1> +<p>Whenever the program stops, KDbg displays the contents of the CPU registers +in the register dump window. To display this window, choose <i>View|Registers</i>.</p> +<p>The registers are grouped by the kind of register. The window contains 3 columns:</p> +<ol> +<li> +The column <i>Register</i> displays the register name.</li> + +<li> +The column <i>Value</i> 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.</li> + +<li> +The column <i>Decoded value</i> 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.</li> +</ol> +<p>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.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Source Code</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Source Code Window</h1> +<p>The source code window is the main window and is always visible.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>Mostly, source code windows are opened automatically. To open a new +source file manually, click the right mouse button and choose <i>Open Source</i> +or choose <i>File|Open Source</i>.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Stack</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Stack Window</h1> +<p>The stack window is displayed using <i>View|Stack</i>. The stack window +lists the stack frames, i.e. the functions that the program has entered, +but not yet left.</p> +<p>The innermost frame (where the program currently executes) is shown +at the top.</p> +<p>To switch to a different stack frame, simply click on that stack frame. +The <a href="sourcecode.html">source window</a> displays the source line +where the function invocation took place and the <a href="localvars.html">local +variables window</a> and the <a href="watches.html">watch window</a> change +to reflect the local variables of the selected stack frame.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Threads</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Threads Window</h1> +<p>The threads window is displayed using <i>View|Threads</i>. The threads +window lists the active threads of the program.</p> +<p><b><i>Note:</i></b> 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).</p> +<p>The contents of the threads window are updated every time the program +is stopped by the debugger. (That is, the window does <em>not</em> reflect +the state while the program is running.)</p> +<p>The first column shows the thread ID, the second column identifies the +location where the thread currently executes.</p> +<p>The marker in front of the line tells which thread currently is <em>active</em>:</p> +<ul> +<li> +The <a href="stack.html">stack window</a> displays the active threads's +backtrace.</li> + +<li> +The <a href="localvars.html">local variables</a> window displays the active +thread's local variables.</li> + +<li> +The <a href="watches.html">watch window</a> uses the active thread's local +variables to evaluate the expressions.</li> +</ul> +<p>By clicking a listed thread, the active thread is switched, and the corresponding +windows are updated. In particular, the <a href="sourcecode.html">source +window</a> displays the location where the active thread is currently halted.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Tips and Tricks</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +Tips and Tricks</h1> + +<ul> +<li> +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 <i>View Code</i>). 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.</li> + +<li> +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. <tt>/x +var.member</tt> displays the <tt>var.member</tt> in hexadecimal notation.</li> + +<li> +You can set breakpoints in a source files that belong to a shared library. +Such breakpoints will be marked as <em>orphaned</em> if the program is not active. +<A href="breakptlist.html#orphanedbp">Orphaned breakpoints</A> 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 +<tt>main()</tt>. At the time when this breakpoint is hit, the orphaned breakpoints +in the shared library become effective.</li> + +<li> +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): +<pre> +LD_ASSUME_KERNEL=2.4.19 kdbg myprogram +</pre>I.e. you run KDbg from the command line such that the old +Linuxthreads implementation is used.</li> +</ul> + +</body> +</html> diff --git a/doc/en/types.html b/doc/en/types.html new file mode 100644 index 0000000..2538efe --- /dev/null +++ b/doc/en/types.html @@ -0,0 +1,183 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Type Tables</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +KDbg's Type Table</h1> +<p>KDbg can display a short description of structured types, so +that it is not necessary to expand the variable in the <a href="localvars.html">local +variables window</a> or <a href="watches.html">watched expressions window</a>. +The information which member variable is displayed is stored in <em>type +tables</em>. There is generally one type table per shared library.</p> + +<p>KDbg's default type tables are located under <tt>$prefix/share/apps/kdbg/types</tt>. +User defined type tables can be placed in <tt>${TDEHOME}/share/apps/kdbg/types</tt>, where +<tt>${TDEHOME}</tt> is <tt>~/.kde</tt> if it is not a defined environment variable. +The file names end with <tt>.kdbgtt</tt>. Example: The type table for <tt>libqt.so</tt> +is named <tt>qt.kdbgtt</tt>. +User defined type tables override the type tables provided by the system.</p> +<p>A type table file obeys the regular KDE configuration file syntax. The +file has the following groups:</p> +<ul> +<li> +A group <tt>[Type Table]</tt> which lists the types and information how +the debugger can identify whether the program is linked against the library.</li> + +<li> +A group for each type which has information about how the value of such +a type is displayed by KDbg.</li> +</ul> +<p>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 <tt>ShlibRE</tt> 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.</p> +<p>KDbg's type recognition only works for libraries that are linked dynamically +to the program being debugged.</p> +<h2> +The <tt>[Type Table]</tt> group</h2> +<p>This group contains the following entries:</p> +<ul> +<li> +<tt>Types1</tt>, <tt>Types2</tt>, 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 <tt>Alias</tt> types below).</li> + +<li> +<tt>ShlibRE</tt>. 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 <tt>.*?[]^$\</tt> are recognized in the +usual way, but there is no possibility to group characters.)</li> + +<li> +<tt>LibDisplayName</tt>. This entry is used in lists where the available +type tables are listed to identify this type table. + +<br><font size=-1>This is not used currently.</font></li> + +<li> +<tt>EnableBuiltin</tt> lists extensions that must be enabled if this +library is used. Currently, two builtins are supported: +<ul> +<li> +<tt>TQString::Data</tt> is used to display unicode strings of TQt's <tt>TQString</tt> +class. See below.</li> +<li><tt>TQCharIsShort</tt> is used only in connection with <tt>TQString::Data</tt> +to specify that a unicode character is stored in an object of type <tt>short</tt>. +See <tt>qt3.kdbgtt</tt> for examples.</li></ul></li> +</ul> + +<p>In the case of regular types the names of types should follow the output of the +<tt>whatis</tt> gdb command less any <tt>const</tt>, <i>spaces</i>, or trailing +<tt>&</tt>. +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). +</p> +<p>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.</p> + +<h2> +The type's group</h2> +<p>There is one group for each type that is named exactly as the type. <font size=-1>At +the moment C++ template classes are not supported.</font> Each group contains +the following entries:</p> +<ul> +<li>An optional <tt>Template</tt> entry that specifies the exact template type +name as it is reported by gdb's <tt>whatis</tt> command. However, it is +possible to replace template parameter types at the top-most level by an +asterisk <tt>*</tt>, which acts as a wildcard: It matches <b>one</b> +template type argument that is reported by <tt>whatis</tt> (except that an +asterisk in the last position matches all remaining template type arguments). +</li> +<li> +<tt>Display</tt> determines how the value of the type is displayed by KDbg. +The string must contain 1 to 5 percent characters '<tt>%</tt>'. These are +replaced by the results of the expressions printed by the <tt>Expr</tt><i>x</i> +entries.</li> + +<li> +One or more of <tt>Expr1</tt>, <tt>Expr2</tt>, etc. Each of them must contain +one or more <tt>%s</tt> 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 <tt>Display</tt> string.</li> + +<li> +An optional <tt>FunctionGuard</tt><i>x</i> that is associated with the corresponding <tt>Expr</tt><i>x</i>. +If the evaluation of the resulting gdb expression returns an error, the corresponding expression from <tt>Expr</tt><i>x</i> is not evaluated. (This is used to guard function calls.) +<li> +<tt>Alias</tt> 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 <tt>Types</tt><i>x</i> entries in the <tt>Type Table</tt>.</li> +</ul> +<p><font size=-1>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.</font></p> +<p>KDbg recognizes a special extension that is used to display TQt 2.x's and TQt 3.x's +unicode strings: If an <tt>Expr</tt><i>x</i> is prepended with <tt>/TQString::Data</tt>, +it is assumed that the result of the expression is a pointer to a <tt>TQString::Data</tt>. +The value displayed is the unicode string that this instance of <tt>TQString::Data</tt> +represents (which can be <tt>TQString::null</tt> if it is TQt's well-defined +null string or <tt>(null)</tt> if the <tt>unicode</tt> member is the null +pointer). See <tt>qt2.kdbgtt</tt> for examples.</p> +<p>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 +<tt>Alias</tt> +entry to quickly specify that a type should be treated like a non-leftmost +base class for a multiple-inheritance class.</p> +<h2> +An example</h2> +<p>The example shows how <tt>TQString</tt> and <tt>TQRect</tt> are defined +in <tt>qt3.kdbgtt</tt>. Furthermore, the template type <tt>TQValueVector</tt> +is defined. This example applies to TQt 3.x, which is located in shared library +whose name ends in <tt>libtqt-mt.so.3</tt>.</p> +<pre>[Type Table] +Types1=TQString,TQRect +Types2=TQValueVector +LibDisplayName=libqt 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</pre> +<p>This example shows these features:</p> +<ul> +<li>The name of the template type, <tt>TQValueVector</tt> is irrelevant. +The exact type name is specified under the <tt>Template=</tt> entry. +It specifies a single wildcard so that it applies to all specializations. +</li> +<li>In order to evaluate the expression that was supplied in the <tt>%s</tt> +only once, the result is stored in a temporary gdb variable and reused later in +the same expression.</li> +<li>Note that it is safer to wrap the <tt>%s</tt> in parentheses.</li> +</ul> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Watched Expressions</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1> +The Watched Expressions Window</h1> +<p>The watched expressions window is opened using <i>View|Watched Expressions</i>. +It displays arbitrary expressions.</p> +<p>To add an expression, type it into the edit field and press Enter or +click <i>Add</i>. To remove an expression, click on it (choose the root +of the expression) and click <i>Del</i>.</p> +<p>You can also move a variable or structure member from the <a href="localvars.html">local +variables window</a> to this window using the context menu in the local +variables window.</p> +<p>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 <tt>char*</tt> values point +to in this way, just the pointer value.</p> +<p>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.</p> +</body> +</html> 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - User's Manual - Debugging XSLT scripts</title> +</head> +<body text="#000000" bgcolor="#FFFFFF"> +<p><a href="index.html">Contents</a></p> +<h1>Debugging XSLT scripts</h1> +<p>KDbg allows to debug XSLT (XML stylesheet translation) scripts using +<a href="http://xsldbg.sourceforge.net/">xsldbg</a>, which must be available +on your system.</p> +<h2>Specifying the script and an XML file to transform</h2> +<p>XSLT mode is automatically entered if a "program" is loaded +that has a file name that ends in <tt>.xsl</tt>. In addition, the +<A href="invocation.html">command line option</A> <tt>-l XSL</tt> can be +specified to explicitly choose this mode.</p> +<p>To debug an XSLT script it is necessary to specify an XML data file +that the script can transform. This is done in the +<a href="argspwdenv.html">Program Arguments</a> dialog, where the XML +file is specified in the <em>Program Arguments</em> edit box.</p> +</body> +</html> 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 <n> 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/<lang>/kdbg/\fP. +.SH AUTHOR +KDbg was written by Johannes Sixt <[email protected]>. +.br +This manual page was prepared by Ben Burton <[email protected]> +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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ���������, ���������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>�������� ���������� ���������, �������� ��������, ���������� ���������</h1> +�������� ����� ���� <i>����������|���������</i> ��� ������ ����������� ����, � +������� �� ������� ���������� ��������� ������������ ���������, �� ������� +������� � ���������� ���������. +<h2> +<a NAME="PgmArgs"></a>��������� ��������</h2> +� ����� ������� ������ ����� ������� ��������� ��������� ������, ������� ������ +���� �������� ���������. ��� ��������� ����� ������������ ��� ���������� +������� ���������. +<h2> +<a NAME="WorkingDir"></a>������� �������</h2> +���� ����������� ������ �����, � ������� �� ������ ������� ������� ������� +���������. ��������� ����� �������� � ��������� �������� ��� ��������� �������. +<p>������� ������� ����� ��������� � ��� gdb! ��������� ���� ������� ����� +���������� ������� gdb � ������� � ���� ��� ������ �� ������� <i>OK</i>. ��� +����� �������� �� ����� ������ �������� �������. +<h2> +<a NAME="Environment"></a>���������� ���������</h2> +� ������ ���������� ��������� ������� ��������� � ���� <tt>VARIABLE=value</tt> +��� ��������� ���������� ��������� <tt>VARIABLE</tt> � �������� <tt>value</tt> +� �������� �� ������ <i>��������</i>. ��� �������� ����������, �������� �� � +������ � �������� �� ������ <i>�������</i>. ��� ��������� �������� ����������, +�������� �� �� ������, �������������� �� �������� � ���� �������������� � +�������� �� ������ <i>��������</i>. ���� �� �������� ��� ���������� � �������� +�� ������ <i>��������</i>, �� �� �������� ����� ����������! ����� ���������� +��������� ����� ������������ ����� ���������� ��� ��������� �������. +<p>���� � Linux �� ����������� ���������� glibc2, �� ��� ���������� ���������� +���������� ��������� <tt>LD_BIND_NOW</tt>. ����� �����, ����� �� ���������� +�������� ���� ���������� � <tt>1</tt> ��� ���� ������ �������. ���� ��� �� +����� �����������, �� gdb �� ������ ������������ ��������� ������� (� � ��) +��������� �������, ������������� �� ����������� ��������� <tt>libc</tt> � +���������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ������ ����� ��������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>������ ����� ��������</h1> +������ ����� �������� ���������� ��� ������������� ����� �������� � ��������� � +��������� �������������� ���. �� ����� ���� ������ ����������� ������ ���� +<i>���|����� ��������</i>. +<h2>�������� ����� ��������</h2> +��� ������ ����� �������� ������������ ���������: +<ul> +<li>��������������� ����� ��������,</li> + +<li>������� ��������� �� ���� �����,</li> + +<li>������� ��������� ����� ��������, ���� ������,</li> + +<li>������� ��������, ���� ������.</li> +</ul> +������ �������� ������ ���������� ��������� ����� ��������: �������� - ������� +�����, ��������� - ������-������� �����, ��������� ����� �������� - ��������� +���� ��� �������� ����� �������� - ��������� ���� �������. +<p>����� ��������� ������������ ������� ���� �������� ��������������� ������. +<h2>���������� ������� ��������</h2> +<a NAME="StopProg"></a>���������� ��������, ��� ������� �������� � ��������� +���������� ��������� �� ����� ������ ���������. ���� ��������� ��� ��������, +����������, ����� ��� ������������ ���� ����� � ����� ��������, ���� +������������� ����������� ������ ������ ���� <i>����������|��������</i>. +��� �� �������� ���������� ���������, � ����� ���� ��������� ��. ������ �� +������ ��������� ������� �������, ����� ���� �������� ����� +<i>����������|����������</i> ��� ����������� ���������� ���������. +<p>��� ��������� ����� �������� �� ������������ ������ ��������� ������ ����� +������� �������� �������� ��������� �� � ���� �������� �������. ���� �� �� +������ ����� ����� � ������ ������, ��� ��������� ������������ ��� �������, �� +������ ������ ������ �� ��� � ������ ����� ��� ������� � �������� �� ������ +<i>�������� ����� ��������</i>. +<p>�� ������ �������� � ��������� ����� ��������, ������ �� � ������, � ����� +������� �� ������ <i>��������</i> ��� <i>���������</i>. ��� ������ �������� +������� ������� ���� �� ������� �������� ������ - �� ������ �������� � +��������� �� ��� ��, ��� � � ���� �������� �������. +<p>�� ������ ���������� ������� ������������ ����� �������� ��� ���������� +������� ��������� ���� �����, ������������ ���������� ��������, ��� ������� �� +����� ���������� �������. ��� ����� �������� �� ������ <i>�������</i> � ������� +������� �/��� ������� ���������. +<h2>���������� ������� ���������</h2> +����� ��������� ������ �� ����� ��������, �� ����������� ����, ��� ���������� +���������� ������ ��� ��������� �������� ����������� ������. ����� ��� � ����� +��������, ������� ��������� ������ ��������� �� ����� ���������� ���������. +��������� ��. <a href="#StopProg">����</a>. +<p>��� ��������� ����� ���������, ������� ��������� � ������ ����� ��� ������� +� �������� �� ������ <i>�������� ����� ���������</i>. ��������� ����������� ��� +��������� �������� ���������. ���������� ��������, ��� ����� ���������, +������������ ��������� ����������, ����� ���� ����������� ������ ����� +��������� �������� � ����� �������� (��� ������������� ����������� ������ +������ ���� <i>����������|��������</i>). +<p>��� �������� ����� ���������, �������� �� �� ������ � �������� �� ������ +<i>�������</i>. ���� ��������� ���������� ��������� ����������, �� ����� +��������� ����� ������� ������������� ��� ������ ��������� �� ������ ������� +����� (�������). +<p>�� ����� ������ ���������� ��� ����� ��������� ������� � ������� ���������, +������ ��� �� ������ � ������� �� ������ <i>�������</i>. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ���������� ����������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">�����������</a> +<h1> +��������� ���� ���������� ����������</h1> +��� ��������� ��������� ���������� ���������� ����� ������������ +<i>����|���������� ����������</i>. �� ������ ����������: +<ul> +<li> +�������, � ������� ������� ���������� gdb,</li> + +<li> +�������, ������� ��������� �������� ��� ������ ���������,</li> + +<li> +������ �� KDbg ���������� � ������������ ����� ����� ��������� ��������� � +����� ����� ���������� ������� �� ����� �������� � ������� �����,</li> + +<li> +������ ���������.</li> +</ul> + +<h4> +��� �������� gdb</h4> + +<blockquote>���� �� ����������� ��������� ������ gdb, ����� ������� +�� � <i>��� �������� gdb</i>. �� ��������� ������������ +����� <tt>gdb --fullname +--nx</tt>. ���������, ������� �� ������ �����, +���� �� �������� ����������� ������ gdb. ���� �� ���������� ��, KDbg �� +����� ��������. ���� �� ��������� ������, �� ����� ��������, �������� +� �������� �� ���������.</blockquote> + +<h4> +��� ������� �������� ���������</h4> + +<blockquote>���� �� ������ ������������� ��������� ������������ ��������� +��� ������ ������ ���������, ������� �� � +<i>��������� ��� ������ ��������</i>. �������� �� ��������� – +<tt>xterm -name kdbgio -title %T -e sh -c %C</tt>. +� ������ ������, +<tt>%T</tt> ���������� ��������� �������, <tt>%C</tt> +���������� �������� ���������� �������������� �����, ������� ����� ���������� +����������, ���� �� ���������� �������� ������������� ����. +(������ ���������� � ����� <tt>sleep +3600</tt>). ����������\�� ������ ��������� ����� ������� +<tt>konsole --name kdbgio --caption %T -e sh -c %C</tt>.</blockquote> + +<h4> +������� � ������� �����</h4> + +<blockquote>�� ������ ������� KDbg ���� ����������� � ������� �����, +����� ������������ ��������� ���������� (� ����� �������� ��� �� �������). +����� ���� KDbg �� ������������ (�� ������� ���� � KWM &150; ������� ��������� +KDE). ��������� ������������� ����� ��������� ����� ��������� ����������, +������� �� ��������� ������ ����� ���������. +</blockquote> + +<blockquote>���� ����� ��������, KDbg ������������ � ������� �����, ���� +��������� ����� ����������, �� ������ �� ���������� ��������� ���������� +����������. ��� ������� ��� ����, ����� ���� ��������� �� ������������� +��� �����, ����� ������������ ��������� ���������� ���������. +</blockquote> + +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ��� � ����...?</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1> +��� � ����...?</h1> + +<h4> +... ���������� ����� ��������?</h4> +���������� ��������� ��������: +<ul> +<li>�������� ����� ������� ���� � ���� ��������� ������ � "�������� �������", +����������� ����� �� ������ ��������� ������.</li> + +<li>������� ������ � ���� ��������� ������ � ������� ����� +���� <i>����� ��������</i>.</li> + +<li>�� ������ �������������� <a href="breakptlist.html">������� ����� ��������</a>.</li> +</ul> +���� �� �� ������ ���������� ����� ��������, �������� ��������� �������� +� ������ ������. ����� ��������� ��������, ��������� ����� �������� ����������. +���������� ��������� � ������� <i>����������|��������</i>. ���� +�� ��-�������� �� ������ ���������� ����� ��������, ���������, �������������� +<i>� �������</i> �� ���� ��������� � ���������� ���������� ��� �������. +<h4>... ���������� �������� ���������� ���������� ��� ������-���� ���������?</h4> +����������� ���� ���������. +<h4> +... ���������� ����� ���������?</h4> +����� ��������� ��������������� � <a href="breakptlist.html">������ +����� ��������</a>. +<h4> +... ������������ ���� ������?</h4> +������� ���������� ��������� ����������� ������, ��������� ���� +<i>����|����������� ������</i>, ����� ������� ��������������� ���� ������, +��������� <i>����|���� ������</i>. +<h4> +... ���������� ���������, ���������� ����������� ����?</h4> +��������� ��������� � ���������, ���� ��� ������ � ����������� ����. +������������� � KDbg � �������� <i>����������|��������</i>. +����� ����� ������������ ���������� ��������. +<h4> +... ������� ���, ����� ��������� ������������ ���������� ��� ������������ +����� �������� �� ����� ������� �� ����, ��� ������ �����������?</h4> +� <a href="breakptlist.html">������ ����� ��������</a> �������� ����� +��������; ������� <i>��������</i> � ������� ���������� ��� ��� �������� +����� �������� � ���� <i>����� ���������</i>. +<h4> +... ���������� ���������� ����� ��� ����������� ������?</h4> +�������� <i>����������|���������</i> � ������� ���������� ����� � +<a href="argspwdenv.html#Environment">������� ���������� ���������</a>. +<h4> +... ���������� ������� ������� ��� ������������ ������?</h4> +�������� <i>����������|���������</i> � ������� ������� ������� � +<a href="argspwdenv.html#WorkingDir">������� ���������� ���������</a>. +<h4> +... ���������� �� ������������� ����?</h4> +�������� <i>����|���������</i> � ��������� �� ���� +<a href="pgmsettings.html#output">�����</a>. +�������� <i>������ �����, ������� �������� ���������</i> � ������� +<i>OK</i>. +������ ������������� ��������� (�������� �� �� ������ +<i>����|��������� ����������� ������</i>). ����� ��������� ������ ������������� +� ��������� <a href="pgmoutput.html">���� ������</a>, � � �������� +������������ ������ ����� ������������ <tt>/dev/null</tt>. +<p>�� ������ ���������� ������ �������� ��� ������ ����� ������������ +���������. +<p><b><i>�����:</i></b>�� �� ������ ������ �����, ���� ��������� +������ ������ �� ������������ ������ ����� (������ ���������) ��� +�� ����� ������� ����� ���������������� �������� ��������� (�� ���� +�� ������ �������� ������� � ������� ������). ���� ������ �� +������������ ���� � �������� ���������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> + +<h1>KDbg - ����������� ������������</h1> + +<h2>����������</h2> + +<ul> +<li> +<a href="#Introduction">��������</a></li> + +<li> +<a href="#UsingKDbg">������������� KDbg</a></li> + +<li> +<a href="#InfoWindows">�������������� ���� KDbg</a></li> + +<li> +<a href="#Tips">������ � ��.</a></li> + +<li>��� ������� �������������: <a href="types.html">������� �����</a></li> + +<li> +<a href="#KnownProblems">��������� ��������</a></li> + +<li> +<a href="#Author">�����</a></li> +</ul> + +<hr> +<h2> +<a NAME="Introduction"></a>��������</h2> +KDbg �������� ����������� ����������� � <tt>gdb</tt>, ���������� ������� GNU. +<p>��� ��������, ��� KDbg ��� �� ���� �� �������� ����������. ������, �� +�������� � <tt>gdb</tt>, ����������, ������������ ��������� ������, ������� ��� +������� � ������� �� ���������, ��������, �������� ����������. ������ ���� � +�������� ����� ������������� � ������������������ ������ <tt>gdb</tt>, � +��������� ������������� � �����-����� ����������� �������������, ������ ��� +����������� ���������� ����������. +<p>��������� ���� ���������� - KDbg ������� ������� �� ������������ +������������� ��������� <tt>gdb</tt>. KDbg �� ����� ������ ������, ��� ������ +<tt>gdb</tt>. ��������, ���� ��������� � ��� ������ <tt>gdb</tt> �� +������������ ������� ������������� ��������, �� � KDbg �� ������� ��� � ���� +(�������� �� ��, ��� �� ������� ���� �������). + +<h2> +<a NAME="UsingKDbg"></a>������������� KDbg</h2> +����� ������� ������������� KDbg �� �������� �������� ����������� ����� � +������� <a href="globaloptions.html">���������� �����</a>, ������� ����� +������� �� ������ ���� <i>����|���������� �����</i>. +<h4>�������� ������������ ���������</h4> +��� ������� ��������� �������� ����� ���� <i>����|����������� ������</i>. ���� +�� ����� ���������� ��� ���������, �� ������ ������� �� �� ������ +<i>����|��������� ����������� ������</i>. ��������� ����������. +<p>���� �� ������ ���������� ������� �� ����� ������, �� ������� �� ������ +��������� ���������, ���������� ���� ����, � ����� ��������� ��� ����, ������ +����� ���� <i>����|���� ������</i>. ������ KDbg �������� � �� ����� ���������, +������� ������� �������� ����� ������. +<p>������ �� ������ ������������� ����� ��������, �������� ���� +<i>Breakpoint</i>, ����, ��������� ������ ������� ����, ��� +<a href="breakptlist.html">���� ����� ��������</a>. +<p>����� �� ������ ���������� ��������� ������ ��� ������������ � ������ ������ +��������� � ������� <a href="pgmsettings.html">��������� ���������</a>, +���������� ������� ���� <i>����|���������</i>. + +<h4>���������� ���������</h4> +������ ��������� ���������, ������ ����� ���� <i>����������|������</i>. ������ +��������� ����� ����������� ������� ������� �� ��� ���, ���� ��� ���� �� +���������, ���� �� ������� � ����� �������� ��� ����� ���������, ���� �� +������� ������. +<p>�� ������ ��������� ��������� � �����������, ���������� ������� �������, � +����� ���������� ��������� ��� ������ ���������. ��� ����� �������� ����� ���� +<i>����������|���������</i> � ������� ���� ��������� � ������� +<a href="argspwdenv.html">��������� ���������</a> (����� �������� ���������). +<p>�� ����� ������ ������������ � ��� ���������� ���������. ��� ����� ��������� +����������� ������, ��� ������� ����. ����� �������� ����� ���� +<i>����������|��������������</i>. ������� ������������� �������� � �������� �� +<i>OK</i>. ���������� ��������� ����� ����������� (�� �� ��������), � � ���� +�������� ������� ����� ������� ������� ����� ��������. + +<h4>��������� ����������� - ��� ������?</h4> +����� ��������� ��������������� � ����� ��������, ��������� ��� ��� ��������� +�������, � <a href="sourcecode.html">���� �������� �������</a> ����������� +������� ������ ��������� ���������. ����� ����������� ��������, ����� ��������� +���������������, ������� ������ (������ <tt>SIGSEGV</tt>), �������� � �������, +������� �� ��������� �� ����� ���������, �� ���� �� �������������. � ���� +������ ����������� <a href="stack.html">���� �����</a> � ������� �������, +������� ������ �� (������� � ������� ������) � �������� �� ���. ��� ������ ��� +�����, � �������� �� ������� ������ ����� ������ � ����� ���������. +<p>� ���� <i>����������</i> �� ������� �������, ������� ��� ����������� ��� +������� ���������, ��������� �������, ���������� ���������� ��������� +(<i>����������</i>). ������ �������, ����� ��� <i>������</i> � ��� ���� +<i>�����</i>, ��������� � �������������� ��������, �������� ������������� +������������ ��� ��������� ������������� �������. +<br><font size=-1>��� ������� �� �������������, �� ����� �� �������� ������ +���� ����� � ����������� ��� ����������������?</font> +<p>� ���� <i>����� ��������</i> �� ������� ������� ��� ���������, ������, +�������� � ���������� ��������� � ���������� ����� ��������. �� ������ ������� +������ ����� �������� � <a href="breakptlist.html">���� ����� ��������</a>. +�� ����� ����� ���������� ����� ��������, ������� ����� ������� ���� � ����� +���� ������ ��������� ������. ��� ��������� � ���������� ����� �������� +�������� ������� ������� ���� �� ����� ��������. +<p>���������� �� ������ ������������ ����������, ��� gdb ��������, � ���� +������ ��� ��������. ����� ��� �������� ������, KDbg �� ����� ��������� +������� ����������, � ���� ��� ��������� ��������, �� KDbg ��������� �������� +����������. +<h2> +<a NAME="InfoWindows"></a>�������������� ���� KDbg</h2> +KDbg ������� ���������� � ��������� ������� � ��������� �����. � ���� +<i>���</i> �� ���������� ������� ��� ������ � �������� ���� ����. ��� ��� ���� +�� ������ ��������� ���, ��� ��� ������. + +<ul> +<li> +<a href="sourcecode.html">���� �������� �������</a></li> + +<li> +<a href="localvars.html">���� ��������� ����������</a></li> + +<li> +<a href="stack.html">���� �����</a></li> + +<li> +<a href="watches.html">���� ������������� ���������</a></li> + +<li> +<a href="breakptlist.html">������ ����� ��������</a></li> + +<li> +<a href="pgmoutput.html">���� ������</a></li> + +<li> +<a href="registers.html">���� ����������� ���������</a></li> + +<li> +<a href="memory.html">���� ������ ������</a></li> + +<li> +<a href="threads.html">���� �������</a></li> +</ul> + +<h2> +<a NAME="Tips"></a>������ � ��.</h2> +��������� ������� �������� �������� �������� �� ������������� KDbg. +<ul> +<li> +<a href="tips.html">�������� ������</a></li> + +<li> +<a href="howdoi.html">��� � ����...?</a></li> +</ul> + +<h2> +<a NAME="KnownProblems"></a>��������� ��������</h2> +gdb 4.16 ����� �������� � ���������� ������� �++ � ����������� ������� �������. +(����� ������ ������ ����������� � ����������, ������������ CORBA.) �� +����������� �� ������ �����������, � KDbg �������� � ���, ��� gdb ���������� +����������. � ���������, � ���� ������ ������ �������. ��� �������� +������������� gdb, ������ ����� ���� <i>����|����������� ������</i>, ������� +������������ ������ �������. +<p>������������� ����� � KDbg �������� ������ ��� ���������, ����������� +��������� � ������������ ����������. + +<h2> +<a NAME="Author"></a>�����</h2> +KDbg ���������� <a href="mailto:[email protected]">Johannes Sixt</a> +� ������� ������ ���������. +<br>�������� �������� KDbg ����������� �� ������ +<a href="http://www.kdbg.org/">http://www.kdbg.org/</a>. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ��������� ����������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ��������� ����������</h1> +���� ��������� ���������� ���������� ������� ������ ���� <i>���|���������</i>. +������ ���� ���������� ���������� ��������� ����������, ������������ +��������� ������� �������� ����� (stack frame). +<p>������������ ����� ��������� ���������� ������������ �������� ����� (stack +frame), ��������� � ���� �����. +<p>�������� ����������, ������������ ����� ���������� ���������, ������������ +������� ������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ����� ������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ������ ������</h1> +����� ���������� ���� ������ ������ ����� ������� <i>���|������</i>. +��� ������� ���������� ������ ��������� �� ����� �������. +<p>��� ��������� ����������� ������, ������� ������ ����� � ���� ��������������. +����� �� ����������� ������ ���������� � ����������������� ����� � ����� +���������� ����������. +<p>�� ������ ���������� ������ ����������� ����������� ������ � ������� +������ ��������������� ����� �� ����������� ����, ������� ���������� +�������� ������ ������� ����. +<p>�������� ��������� ������������ � ������������ ����� ���� +������� �� ����������� ������. �������� ��������, ��� �������� ��������� +������������ ������ � �� ��������. +<p>���� �� �� ����������� ����������� ���������� ������, ������������� +�������� ��������� ����� �������, ����� ���������� ������ �� ���������� +– ��� �������� �������� �������� �������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ����� ���������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ������ ���������</h1> +���� ������ ��������� ����� �������, ������ ����� ���� <i>���|�����</i>. � ��� +���� ��������� ����������� ������ ������ � ����������� ������������ ���������. +<p>��� �� ��������� ������� �����-���� ������ � ��������� � ��������� ���� +����������� �������� ���������: <tt>\n</tt> (������� ������) ������������� � +���������� ������ ������-������� ������, � <tt>\r</tt> (������ ������) +������������. ���� ������������ ������ ������������� ��� ������� GUI ��������, +������� ������� ���������� ��������� � ����������� ������ ������ ��� +�����������. +<p>����� ��������� ������������ ������ ���, ���� ������ ��������� �� +<i>��</i>������������. ���� KDbg �� �����, ���������� �� ��������� ����� +������������ ������������ ��� �� ��� ������� ����� � ���������. ������� �� +��������� ������������ ������� �������� ���������. ��� ��������������� ������ +��������� � ���� ������ ���������� ��������� ��������� ����: +<ol> +<li> +������� ���������� ���� <a href="pgmsettings.html">���������</a> ����������� +������ ���� <i>����|���������</i>.</li> + +<li>������� �������� <i>�����</i>.</li> + +<li>������� <i>������ �����, ������� �������� ��������</i> � �������� �� +������ <i>OK</i>.</li> + +<li>������������� ��������� �� ������ <i>����|��������� ����������� ������</i>.</li> +</ol> +��� ������� ����������� ���� �������� ����� <i>��������</i> � ����������� ����, +���������� �������� ������ ������ ���� � ���� ����. +<p>���� ��������� ������ ���� ��������� �������, �� ���� �������������� +������������� ����� �������, ��� ��������� ������ ������ �������� ������� ��� +����������� ����� ���������. ���� �� ���������� ����, �� ������������ ������� +�� ���������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ��������� ��������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>������ ��������� ��������</h1> +� ���� ������� ����� ������� ��������� ���������� ���������. ��� ��� ������ +�������� ����� ���� <i>����|���������</i>. ������ ��������� ����� ��������� +������ � ������� ������������ ��������� � ����� ��������� ����� �������� �� +�������. +<blockquote><b><i>������ ���������:</i></b> ��������� ����� ��������� ������ +��� ��������� �������� ������������ ������ � KDbg. ��� ��������, ��� ����� +������� �� <i>OK</i> �� ������ ������������� ����������� ������ � ������� +������ ���� <i>����|����������� ������</i>!!</blockquote> + +<ul> +<li> +<a href="#driver">��������</a></li> + +<li> +<a href="#output">�����</a></li> +</ul> + +<h2> +<a NAME="driver"></a>��������</h2> +� ���� ������� �� ������ ������� ��������, ������� ������ ���������� ���������. +<h4>��� ������� GDB</h4> + +<blockquote>������� ������� ��� ������ gdb. �������� ��� ���� ������ ��� ������ +gdb �� ���������, ���������� � +<a href="globaloptions.html">���������� ������</a>. ���� �� ����������� +�����-����������� � ��������� ��������, �� �� �������� �������� ������������ +������ gdb, ����� ���������� ��� ���������� ���������. �� ��������� ���������� +<tt>gdb --fullname --nx</tt>. �� �������� ������� ������ ����� ��� ��������� +������������� ���������. ���� �� �� �� �������, KDbg �� ����� ��������. +</blockquote> + +<h2> +<a NAME="output"></a>�����</h2> +� ���� ������� �� ������ ������� ������� �������� ���������, � ������� ����� +�������� ���������. +<h4>��� ����� � �����</h4> + +<blockquote>�������� ��� �����, ���� ���� ��������� �� �������� ������� ������ +� �������� � �� �� ������ ������ ��, ��� ��� ������� � ����������� ������ +������ � �����������. ��� ����������� ������ (<tt>stdin</tt>, <tt>stdout</tt> � +<tt>stderr</tt>) ���������������� � <tt>/dev/null</tt>.</blockquote> + +<h4>������ �����, ������� �������� ���������</h4> + +<blockquote>�������� ��� �����, ���� ���� ��������� �� �������� ������� ������ +� ��������� (<tt>stdin</tt> ����� ������������� � <tt>/dev/null</tt>), � ����� +(<tt>stdout</tt> � <tt>stderr</tt>) �� ������� ������� �������� ���������. +����� ����� ������������ � <i>���� ������</i>. + +<br><i>�����:</i> ���������� �������� ��������� �������������� ������ ������ +����� ������ <tt>\n</tt> (ASCII 10) � ������� ������. �� <i>��</i> ������������ +������ �������� ������� <tt>\r</tt> (ASCII 13). ����� ������ ���������� ��� +����������� ������� ���������� ���������, ������� ������ ������������ +�������������� ��������, ������������ ����������� ���������.</blockquote> + +<h4>������ �������� ���������</h4> + +<blockquote>�������� ��� �����, ���� ���� ��������� �������� ������ �� +<tt>stdin</tt>, ��� ����� � <tt>stdout</tt> or <tt>stderr</tt> ������� ������ +�������� ���������. � ���� ������ ����� ����������� �������� ���������, +��������� � <a href="globaloptions.html">���������� ������</a>.</blockquote> +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ���������� ���������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ����������� ���������</h1> +������ ���, ����� ���������� ������� ���������, +KDbg ������� ���������� ��������� ��� � �������������� ����. ��� ����, ����� +���������� ������ ����, �������� <i>���|��������</i>. +<p>���� �������� 3 �������: +<ol> +<li>������� <i>�������</i> ������� ��� ��������.</li> + +<li>������� <i>��������</i> ������� ���������� ��������� � ����� ��� ����� +�������������� �������. �������������� ������ ������ ������� ����������������� +��������, ���� ��� ����������� ��������� � ��������� ������.</li> + +<li>������� <i>�������������� ��������</i> ������� ���������� ��������� +� �������������� �����. ��� �������������� ��������� ��� +������ �������� ���������� ��������, ��� ��������� � ��������� ������ +– ����� � ��������� ������, �������� ������ ������������ � ����� +������.</li> +</ol> +� ������� ������ ������� ���� ����� ������� ����, ������� ��������� +���������� ������ �������� �� ������ �������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - �������� �����</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ��������� ������</h1> +������ ���� �������� ������� � ������ ������������. +<p>���� ��������� ������ �������� �������� ����� ���������. ����� �� +������ ������ ������ ��������� "�������� �������". ��� �������� +��������� �� ������ ��������� ������, ������� ����������� � ������� ������ +�������, � ����� ��������� �� ������ ��������� ������, ������� �������� +����� ��������. +<p>����� ����� �������� ��������������� �������� ����� ������� ���� � +"�������� �������". ������������ ����� �������� ����� ���� ������������ +��� ��������������� � ������� ������� ������� ����. +<p>����� ���� ����� ���� ����� '+' ����� "�������� ��������" � ������� +��������� ������. ��� �������� � ������ ������������� ���� ��� ������ +������. ����� ������ ������������ ���, ���������� +������ ������� '-'. +<p>������ ���� ��������� ������ ����������� �������������. ����� +������� ���� � �������� ������� �������, ����� ������ ������ +������ ���� � ������� <i>������� �������� �����</i> ��� +������� <i>����|������� �������� �����</i>. +<p>��� ������������ ����� ����������� ������� � ��������� ��������, +�������� ������ ���� � ���� <i>����</i>. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ����</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� �����</h1> +���� ����� ���������� ������� ������ ���� <i>���|����</i>. ���� ����� �������� +������ �������� ����� (stack frames), ��������, �������, ������� ���� �������, +�� ��� �� �����������. +<p>����� ���������� (���������) ������� (����� �������� ���������� ���������) +��������� � ����� ����� ������. +<p>��� ������������ �� ������ ������� �����, ������ �������� ��� ������� +������. <a href="sourcecode.html">���� �������� �������</a> ���������� ������ +�������� �������, ������� ����������� ���������� � ������� ������, � +<a href="localvars.html">���� ��������� ����������</a> � +<a href="watches.html">���� ������������� ���������</a> ����������, ��������� +��������� ���������� ��������� ������� �����. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� �������</h1> +���� ������� ����� �������, ������ ����� ���� <i>���|������</i>. � ���� ������� +������������ ������ �������� ������� ���������. +<p><b><i>���������:</i></b> ������� ������������� �������� ������ +�������������� ������������ ������� gdb - ��� �� �������� �������� KDbg. ��� +Linux-������ ����� ������������ gdb5. +<p>���������� ���� ������� ����������� ��� ������ ��������� ��������� +����������. (�.�. � ���� <i>��</i> ������������ ��������� ������� �� ����� +������ ���������.) +<p>������ ������� ���������� ������������� ������, ������ ��������� �� ������� +����� ���������� ������� ������. +<p>������ �������� ����� �� ����� ��������� �� ������� <i>��������</i> �����: +<ul> +<li> +<a href="stack.html">���� �����</a> ���������� ���� ������� ��������� ������. +</li> + +<li><a href="localvars.html">���� ��������� ����������</a> ���������� ��������� +���������� ��������� ������.</li> + +<li><a href="watches.html">���� ���������</a> ���������� ��������� ���������� +������ ��� �������� ���������.</li> +</ul> +���� �������� �� ������ ����� � ������, �� �� ������ �������� � �������������� +����� �������� ���������� ������ ����. � ���������, +<a href="sourcecode.html">���� �������� �����</a> ��������� �����, ��� ������� +����� ��� ����������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - �������� ������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>�������� ������</h1> + +<ul> +<li>������ �������������� ���������� ��������� <tt>LD_BIND_NOW=1</tt> � +��������, ������������ ���������� glibc2. + +��������� ���������� ��������� ������� +<a href="argspwdenv.html#Environment">�����</a>.</li> + +<li>�� ������ ������������ ����� ��������, ��� ��������: ������ ���������� +����� �������� � ��������� ��. ����� �� ������� ������������ � ���� �����, +������� �� ��� ��� ���� � ������ ����� �������� (��� ������ ������ �� � ������� +�� ������ <i>����������� �������� ���</i>). �.�. ����� �������� �������� +����������� (�.�. KDbg ���������� �� ������������ � ��������������� � ��������� +������), �� ��� ������ ����� ��������� �� ������� � ��������� ��� ��� ����� +�������� ����� �� �����. +</li> + +<li>�� ������ �������� �������� ���������� ���������: � ���� ��������� +���������� (����� ������) ������� ���������� <tt>var.member=17</tt> � �������� +�� ������ <i>��������</i>. ��� �������� � ������������ ��������� �������� +����������. ������ ��� ���������� ������� ��� ��������� �� ������ (������ +��� � ������� �� ������ <i>�������</i>). ��� ���������� ������, ��� �������� +��������� �������������� ��� ������ �������� ��������� � ���� ���������� ����� +������������� ���� �������� ����� � �����!</li> + +<li>�� ������ �������� �������� ���������� � ���� ��������� � ������ ��������, +��������� ������������ gdb ����� ��������� ��������� ����������. ��������, +<tt>/x var.member</tt> ������� �������� <tt>var.member</tt> � ���������������� +����.</li> +</ul> + +</body> +</html> diff --git a/doc/ru/types.html b/doc/ru/types.html new file mode 100644 index 0000000..2d29941 --- /dev/null +++ b/doc/ru/types.html @@ -0,0 +1,126 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ������� �����</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>������� ����� KDbg</h1> +KDbg ����� ���������� ���������� �������� ������ ������ ����������������� ����� +������, ����� ������� ����������� ������������� � ��������� ���������� � +<a href="localvars.html">���� ��������� ����������</a> ��� � +<a href="watches.html">���� ������������� ���������</a>. ���������� � ���, +���������� ������ ����� ������������, �������� � <i>�������� �����</i>. ������ +���������� ���� ������� �� ����������� ����������. +<p>������� ����� KDbg ����������� � �������� +<tt>$TDEDIR/share/apps/kdbg/types</tt>. ����� ����� ������ ������������ �� +<tt>.kdbgtt</tt>. ��������, ������� ����� ��� <tt>libqt.so</tt> ���������� +<tt>qt.kdbgtt</tt>. +<p>����� ������ ����� ������������� ������������ ���������� ������ ������������ +KDE. ���� �������� ��������� ������: +<ul> +<li> +������ <tt>[Type Table]</tt>, � ������� ����������� ���� � ���������� � ���, +��� �������� ����� ����������, ���������� �� ��������� � ���� �����������.</li> + +<li>������ �� ������ ����������� ���, � ������� ���������� ���������� � ���, +��� KDbg ������ ���������� ������ ���.</li> +</ul> +��� ����������� ������ �����, ���������� � ������������ ���������, KDbg +����������� ������ ����������� ���������, � �������� ���������� ���������. +����� �� ������������ ����� ���� ���� ��������� � �������� ����� � ��������� +<tt>ShlibRE</tt>. ������������ �� �������, � ������� ���� ������� +��������������� ����� ���������. ���� ��� ���������� � ���������� ��������, �� +������������, ����� �� �� �������� ����� �������. +<h2>������ <tt>[Type Table]</tt></h2> +��� ������ �������� ��������� ��������: +<ul> +<li> +<tt>Types1</tt>, <tt>Types2</tt>, � ��. ��� �������� �������� ������� �����. +������ �� ��� ������������ ����� ����������� �������� ������ ���� �����. � +������ �������� ����� ���� ����������� ����� ���������� �����. (����� ����� +����� ������� �� ��������� �����, ����� ��� ������ �� ���������� ������� +��������.) � ���� ������� ����������� ������� �������. �������� ������ +������������ ��������������� (KDbg ���������� ������ �� ������ �� ��������), +������ �������� ����� ���� ����� (�.�. ������ �� ��������� �����). ������ +������� ������������ ���� ����� �������� (��. ������ � <tt>Alias</tt> ����). +</li> + +<li> +<tt>ShlibRE</tt>. KDbg ���������� ���� ������� ��� �����������, ������������ +�� ������ ������� � ������� ������������ ���������. ��� ����� KDbg ���������� +����������� ����������, ������������ ����������. ���� ���� �� ���� �� ��� +��������� �� ��������� ����� ��������, ������� ������������. ������������ +���������� ��������� ��������� � ����������� ����������� TQt (����������� +<tt>.*?[]^$\</tt> ������������ ������� �������, ������ ���������� ����������� +������������ �������.)</li> + +<li> +<tt>LibDisplayName</tt>. ���� ������� ������������ � �������, � ������� +��������� ������� ����� ����������� ��� �������� ������ ������� �����.</li> + +<br><font size=-1>�� ������ ������ ��� �� ������������.</font></ul> + +<h2>������ ����</h2> +�� ������ ��������� ��� ������ ���� �������� ������, ��������� ������ ����. +<font size=-1>�� ������ ������ ������� �++ �� ��������������.</font> +������ ������ �������� ��������� ��������: +<ul> +<li> +<tt>Display</tt> ���������, ��� KDbg ������ ���������� �������� ����� ����. +������ ����� ��������� �� 1 �� 5 �������� '<tt>%</tt>'. ��� ���������� �� +���������� ���������, ��������� � ��������� <tt>Expr</tt><i>x</i>.</li> + +<li>���� ��� ����� <tt>Expr1</tt>, <tt>Expr2</tt>, � ��. ������ �� ��� ������ +��������� <b>������ ����</b> ������������������ <tt>%s</tt>, ������� ����� +�������� ����������, ��� �������� ���������� ��������. ����� ��������� +���������� gdb, � ��������� ��������� �� ����� ���������������� ������� +�������� � �������� <tt>Display</tt>.</li> + +<li> +<tt>Alias</tt> ��������� �� ���-���������. ���� ������������ ������ ������, �� +� ������ ����� ��������� �����, ��� � ���, �� ������� �� ���������. ���� +���-��������� ����� ���� ������ ���� ����������� �� ���� ����� � ��������� +<tt>Types</tt><i>x</i> ������ <tt>[Type Table]</tt>.</li> +</ul> +<font size=-1>�� ������ ������ ���������� ��������� ��� ������� ���� ���������� +�����. ��� ����� ���� � ��������� ��������, �� � �� ���������� ������ +������������ � ������� ������ - ��� ������ ����������� ������� �������.</font> +<p>KDbg ���������� ����������� ����������, ������� ������������ ��� ������ +����� TQt 2.0 � unicode: ���� ����� <tt>Expr</tt><i>x</i> ����� +<tt>/TQString::Data</tt>, ���������������, ��� ��������� �������� �������� +���������� �� <tt>TQString::Data</tt>. ��������� �������� �������� ������� � +unicode, �������������� <tt>TQString::Data</tt> (������� ����� ���� +<tt>TQString::null</tt>, ���� ��� ������ ������ TQt, ��� <tt>(null)</tt>, ���� +<tt>unicode</tt> ���� ��������� �������� ������� ����������). ��� ������� ��. +<tt>qt2.kdbgtt</tt>. + +<p>�����: ������ ������������� ��������� ����������� ����, ���� ��� ������ +�������������� ����� ��� � ������� ����� - KDbg ����� ���������� ������������ +� ������������ �������� ���� ������� (�����) �������� ������. �� ������ +������������ ������� <tt>Alias</tt> ��� �������� �������� ������ ��� +������������� ������������, ��������� �� ������� �����. +<h2>������</h2> +���� ������ ����������, ��� <tt>TQString</tt> � <tt>TQObject</tt> ������� � +<tt>qt.kdbgtt</tt>. ������������� ��������� <tt>TQTableView</tt>, ����������� +�� <tt>TQObject</tt>. ���� ������ �������� � TQt 1.x, ������� ���������� � +����������� �����������, ����� ������� ������������ ��� <tt>libqt.so.1</tt>. +<pre>[Type Table] +Types1=TQString +Types2=TQObject,TQTableView +LibDisplayName=libqt 1.x +ShlibRE=libqt\.so\.1$ +[TQString] +Display={ % } +Expr1=(%s).shd->data +[TQObject] +Display={ name=% #chld=% } +Expr1=(%s).objname +Expr2=(%s).childObjects->numNodes +[TQTableView] +Alias=TQObject</pre> +���������: ������� ���������� ��������� <tt>%s</tt> � ������. +</body> +</html> 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 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"> + <meta name="Author" content="Johannes Sixt"> + <title>KDbg - ����������� ������������ - ������������� ���������</title> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000"> +<a href="index.html">����������</a> +<h1>���� ������������� ���������</h1> +���� ������������� ��������� ���������� ������� ������ ���� +<i>���|������������� ���������</i>. ��� ���������� ������������ ���������. +<p>��� ���������� ���������, ������� ��� � ���� �������������� � ������� Enter +��� �������� �� ������ <i>��������</i>. ��� �������� ���������, �������� ��� +(��������� ������ ���������?) � �������� �� ������ <i>Del</i>. +<p>������������� ��������� ����������� ����� �������� �������. ������� +������������� ������� ���������, �������� �� ��� �� �����������, �.�. ��� +������� �������� �������. +</body> +</html> |