summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/de/argspwdenv.html50
-rw-r--r--doc/de/breakptlist.html82
-rw-r--r--doc/de/globaloptions.html72
-rw-r--r--doc/de/howdoi.html83
-rw-r--r--doc/de/index.html190
-rw-r--r--doc/de/localvars.html25
-rw-r--r--doc/de/memory.html29
-rw-r--r--doc/de/pgmoutput.html52
-rw-r--r--doc/de/pgmsettings.html83
-rw-r--r--doc/de/registers.html37
-rw-r--r--doc/de/sourcecode.html30
-rw-r--r--doc/de/stack.html25
-rw-r--r--doc/de/threads.html44
-rw-r--r--doc/de/tips.html45
-rw-r--r--doc/de/watches.html27
-rw-r--r--doc/en/argspwdenv.html42
-rw-r--r--doc/en/breakptlist.html93
-rw-r--r--doc/en/globaloptions.html78
-rw-r--r--doc/en/howdoi.html76
-rw-r--r--doc/en/index.html185
-rw-r--r--doc/en/invocation.html34
-rw-r--r--doc/en/localvars.html28
-rw-r--r--doc/en/memory.html26
-rw-r--r--doc/en/pgmoutput.html46
-rw-r--r--doc/en/pgmsettings.html81
-rw-r--r--doc/en/registers.html35
-rw-r--r--doc/en/sourcecode.html28
-rw-r--r--doc/en/stack.html23
-rw-r--r--doc/en/threads.html42
-rw-r--r--doc/en/tips.html47
-rw-r--r--doc/en/types.html183
-rw-r--r--doc/en/watches.html28
-rw-r--r--doc/en/xslt.html24
-rw-r--r--doc/man/kdbg.192
-rw-r--r--doc/ru/argspwdenv.html43
-rw-r--r--doc/ru/breakptlist.html68
-rw-r--r--doc/ru/globaloptions.html72
-rw-r--r--doc/ru/howdoi.html78
-rw-r--r--doc/ru/index.html177
-rw-r--r--doc/ru/localvars.html19
-rw-r--r--doc/ru/memory.html26
-rw-r--r--doc/ru/pgmoutput.html43
-rw-r--r--doc/ru/pgmsettings.html73
-rw-r--r--doc/ru/registers.html31
-rw-r--r--doc/ru/sourcecode.html31
-rw-r--r--doc/ru/stack.html23
-rw-r--r--doc/ru/threads.html38
-rw-r--r--doc/ru/tips.html43
-rw-r--r--doc/ru/types.html126
-rw-r--r--doc/ru/watches.html20
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&uuml;hren|Argumente</i> &ouml;ffnen Sie einen Dialog, in dem
+Sie Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen
+setzen k&ouml;nnen.
+<h3>
+Programmargumente</h3>
+In der obersten Eingabezeile k&ouml;nnen Sie die Programmargumente eingeben,
+die an das Programm &uuml;bergeben werden sollen. Diese werden beim n&auml;chsten
+Programmstart verwendet.
+<h3>
+Arbeitsverzeichnis</h3>
+Im Eingabefeld darunter k&ouml;nnen Sie das Arbeitsverzeichnis angeben.
+Dieses wird sofort an gdb &uuml;bergeben, sobald Sie <i>OK</i> dr&uuml;cken.
+Das Programm verwendet das neue Arbeitsverzeichnis allerdings erst beim
+n&auml;chsten Start.
+<p>Das Arbeitsverzeichnis gilt auch f&uuml;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&uuml;cken. Das kann
+einen Einfluss darauf haben, ob gdb Quellcodedateien findet.
+<h3>
+Umgebungsvariablen</h3>
+Im Bereich f&uuml;r Umgebungsvariablen k&ouml;nnen Sie einen Ausdruck in
+der Form
+<tt>VARIABLE=Wert</tt> eingeben und dann <i>&Auml;ndern</i> klicken,
+um der Umgebungsvariablen <tt>VARIABLE</tt> einen <tt>Wert</tt> zuzuweisen.
+Um eine Variable zu entfernen, w&auml;hlen Sie diese zuerst aus der Liste
+darunter aus und klicken dan <i>L&ouml;schen</i>. Um einen Wert zu &auml;ndern,
+geben Sie einfach den neuen Wert ein und klicken <i>&Auml;ndern</i>. Wenn
+Sie den Namen der Variable &auml;ndern und <i>&Auml;ndern</i> clicken,
+erzeugen Sie eine neue Variable! Die neuen Umgebungsvariablen werden erst
+beim n&auml;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&ouml;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&ouml;glicht, diese zu manipulieren. Die Liste der Haltepunkte k&ouml;nnen
+Sie mit dem Men&uuml;punkt <i>Ansicht|Haltepunkte</i> anzeigen.
+<h2>
+Die &Uuml;bersicht</h2>
+F&uuml;r jeden Haltepunkt wird folgendes angezeigt:
+<ul>
+<li>
+der Ort,</li>
+
+<li>
+die Anzahl der Stopps,</li>
+
+<li>
+die Anzahl der n&auml;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&auml;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&ouml;nnen solange das zu debuggende Programm
+l&auml;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&uuml;hrung|Unterbrechen</i> w&auml;hlen.
+Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie
+k&ouml;nnen die Haltepunkte jetzt ver&auml;ndern. W&auml;hlen Sie danach
+<i>Ausf&uuml;hrung|Ausf&uuml;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&ouml;nnen Sie den Funktionsnamen im Feld &uuml;ber
+der Liste eingeben und <i>Haltepunkt</i> w&auml;hlen.
+<p>Sie k&ouml;nnen eine Haltepunkt in der Liste ausw&auml;hlen seine Zustand
+mittels <i>Deaktivieren</i> oder <i>Aktivieren</i> &auml;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&ouml;nnen eine Bedingung setzen (sodass das Programm nur stehen
+bleibt, wenn die Bedingung erf&uuml;llt ist) oder die Anzahl der zu ignorierenden
+Stopps setzen (sodass das Programm die n&auml;chsten n Male nicht stehen
+bleibt, die es &uuml;ber diesen Haltepunkt l&auml;uft). Dazu w&auml;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 &auml;hnlich, nur dass das Programm angehalten
+wird, sobald sich der Inhalt einer Speicherstelle &auml;ndert. Ebenso wie
+Haltepunkte k&ouml;nnen Watchpoints nicht manipuliert werden, solange das
+Programm l&auml;uft. Weitere Hinweise dazu <a href="#StopProg">siehe oben</a>.
+<p>Einen Watchpoint k&ouml;nnen Sie setzen, indem Sie einen Ausdruck im
+Feld &uuml;ber der Liste eingeben und <i>Watchpoint</i> klicken. Das Programm
+wird dann angehalten, sobald sich der Wert des Ausdrucks &auml;ndert. Beachten
+Sie, dass Sie Watchpoints, die eine lokale Variable ben&ouml;tigen, nur
+setzen k&ouml;nnen, wenn das Programm von einem Haltepunkt (oder mittels
+Ausf&uuml;hrung|Unterbrechen) angehalten wurde.
+<p>Zum Entfernen eines Watchpoints w&auml;hlen Sie diesen in der Liste
+aus und klicken <i>Entfernen</i>. Falls der Ausdruck eine lokale Variable
+enth&auml;lt, wird der Watchpoint automatisch entfernt, sobald das Programm
+die aktive Funktion verl&auml;sst.
+<p>Wie mit Haltepunkten k&ouml;nnen Sie eine Bedingung oder eine Anzahl
+zu ignorierender Stopps setzen, indem Sie den Watchpoint ausw&auml;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&uuml;punkt <i>Datei|Globale Einstellungen</i> k&ouml;nnen Sie
+folgende Optionen einstellen:
+<ul>
+<li>
+den Befehl, mit dem gdb aufgerufen wird;</li>
+
+<li>
+den Befehl, der das Fenster f&uuml;r die Programmausgabe &ouml;ffnet,</li>
+
+<li>
+ob KDbg in den Vordergrund kommen soll, sobald das Programm stoppt, und
+eine Verz&ouml;gerung, wann er sich wieder zur&uuml;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&uuml;ssen jedenfalls diese
+beiden Argumente &uuml;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&uuml;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 &Uuml;berschrift und <tt>%C</tt> durch ein Bourne-Shell-Skript ersetzt,
+das in eine Endlosschleife landet, damit sich das Fenster nicht schlie&szlig;t.
+(Keine Sorge, das Skript frisst keine CPU-Zeit, sondern ruft einfach nur
+<tt>sleep
+3600</tt> in einer Schleife auf :) Eine alternative f&uuml;r diesen Eintrag
+w&auml;re zm Beispiel <tt>konsole --name kdbgio --caption %T -e
+sh -c %C</tt>.</blockquote>
+
+<h4>
+In den Vordergrund</h4>
+
+<blockquote>Sie k&ouml;nnen angeben, ob das KDbg-Fenster in den Vordergrund
+gebracht werden soll, sobald das kontrollierte Programm anh&auml;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&ouml;rend empfinden, weshalb
+diese Option standardm&auml;ssig ausgeschaltet ist.</blockquote>
+
+<blockquote>Wenn diese Option eingeschaltet ist, zieht sich das KDbg-Fenster
+auch wieder in den Hintergrund zur&uuml;ck, sobald das Programm fortgesetzt
+wird. Allerdings geschieht das erst nach einer Verz&ouml;gerung, die ebenfalls
+angegeben werden kann. Dadurch wird verhindert, dass das Fenster st&auml;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&uuml;r gibt's mehrere M&ouml;glichkeiten:
+<ul>
+<li>
+Sie k&ouml;nnen im <a href="sourcecode.html">Quellcode-Fenster</a> in den
+"aktiven Bereich" am linken Ende der Zeile klicken.</li>
+
+<li>
+Sie k&ouml;nnen im Quellcode-Fenster eine Zeile ausw&auml;hlen und dann
+im Men&uuml; <i>Haltepunkt</i> eine Auswahl treffen.</li>
+
+<li>
+Sie k&ouml;nnen einen Haltepunkt in der <a href="breakptlist.html">Liste
+der Haltepunkte</a> setzen.</li>
+</ul>
+Wenn Sie keinen Haltepunkt setzen k&ouml;nnen, k&ouml;nnte es sein, dass
+das Programm gerade l&auml;uft. Sie k&ouml;nnen keine Haltepunkte setzen,
+solange das Programm l&auml;uft. Halten Sie es zuerst mit <i>Ausf&uuml;hrung|Unterbrechen</i>
+an. Falls Sie dann noch immer keine Haltepunkte setzen k&ouml;nnen, versichern
+Sie sich, dass Sie das Programm mit Debug-Information &uuml;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&uuml;cke-Fenster</a>.
+<h4>
+... Watchpoints setzen?</h4>
+Watchpoints k&ouml;nnen &uuml;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&auml;hlen <i>Ausf&uuml;hrung|Unterbrechen</i>.
+Hiermit haben Sie das Programm <i>in flagranti</i> erwischt!
+<h4>
+... erreichen, dass das Programm einigemale &uuml;ber einen Haltepunkt
+dr&uuml;berl&auml;uft, ohne anzuhalten?</h4>
+In der <a href="breakptlist.html">Liste der Haltepunkte</a> w&auml;hlen
+Sie den Haltepunkt; dann klicken Sie <i>Bedingt</i> und geben die Anzahl
+in <i>Ignoriere n&auml;chste Treffer</i> an.
+<h4>
+... eine Umgebungsvariable f&uuml;r das Programm setzen?</h4>
+W&auml;hlen Sie <i>Ausf&uuml;hrung|Argumente</i> und geben die Umgebungsvariable
+im <a href="argspwdenv.html#Environment">Argumente-Dialog</a> an.
+<h4>
+... ein Arbeitsverzeichnis f&uuml;r das Programm w&auml;hlen?</h4>
+W&auml;hlen Sie <i>Ausf&uuml;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&auml;hlen Sie <i>Datei|Einstellungen</i> und schalten auf das Register
+<a href="pgmsettings.html#output">Ausgabe</a>
+um. W&auml;hlen Sie <i>Nur Ausgabe, einfache Terminalemulation</i> und
+klicken Sie <i>OK</i>. Nun m&uuml;ssen Sie das Programm neu laden (am einfachsten
+w&auml;hlen Sie es aus der Liste unter <i>Datei|Zuletzt ge&ouml;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&uuml;ssen diese Einstellungen f&uuml;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&ouml;tigt werden (mehr als nur Wagenr&uuml;cklauf
+und Zeilenvorschub). Das eingebaute Ausgabefenster unterst&uuml;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&uuml;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&auml;che f&uuml;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&uuml;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&auml;ndig von den F&auml;higkeiten
+des verwendeten Befehlszeilendebuggers, <tt>gdb</tt>, abh&auml;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&uuml;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&uuml;fen, indem Sie <i>Datei|Globale Einstellungen</i>
+aufrufen.
+<h4>
+Ein zu debuggendes Program angeben</h4>
+Um ein Programm zu debuggen, w&auml;hlen Sie <i>Datei|Programm</i>. Wenn
+Sie das Programm schon einmal debuggt haben, k&ouml;nnen Sie es auch aus
+der Liste unter <i>Datei|Zuletzt g&ouml;ffnete Programme</i> w&auml;hlen.
+Das Programm wird jetzt geladen.
+<p>Wenn Sie einen Core-Dump verwenden wollen, m&uuml;ssen Sie zuerst das
+Programm, das den Core-Dump erzeugt hat wie gerade erw&auml;hnt laden,
+dann w&auml;hlen Sie <i>Datei|Core dump</i> aus dem Men&uuml;. KDbg zeigt
+die Stelle an, die den Core-Dump verursacht hat.
+<p>Sie k&ouml;nnen nun Haltepunkte setzen, indem Sie die Eintr&auml;ge
+im Men&uuml; <i>Haltepunkt</i> oder im Rechte-Maus-Men&uuml; oder in der
+<a href="breakptlist.html">Liste
+der Haltepunkte</a> verwenden.
+<p>Sie k&ouml;nnen auch <a href="pgmsettings.html">programmspezifische
+Einstellungen</a> vornehmen, indem Sie <i>Datei|Einstellungen</i> w&auml;hlen.
+<h4>
+Das Programm ausf&uuml;hren</h4>
+Nun f&uuml;hren Sie das Programm aus, indem Sie <i>Ausf&uuml;hrung|Ausf&uuml;hren</i>
+w&auml;hlen. Das Programm arbeitet nun wie gew&ouml;hnlich, bis es beendet
+wird, auf einen Haltepunkt oder Watchpoint trifft, oder ein Signal empf&auml;ngt.
+<p>Sie k&ouml;nnen das Programm mit Argumenten ausf&uuml;hren, ein Arbeitsverzeichnis
+festlegen und auch Umgebungsvariablen definieren. Dazu w&auml;hlen Sie
+<i>Ausf&uuml;hrung|Argumente</i>
+und machen Ihre Angaben im <a href="argspwdenv.html">Programmargumente-Dialog</a>.
+<p>Weiters k&ouml;nnen Sie sich in ein Programm einh&auml;ngen (<i>attachen</i>),
+das bereits ausgef&uuml;hrt wird. Dazu laden Sie das Programm zuerst wie
+oben beschrieben, dann w&auml;hlen Sie <i>Ausf&uuml;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&auml;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&auml;chlichen Programmfehler beginnen
+k&ouml;nnen.
+<p>Im Men&uuml; <i>Ausf&uuml;hrung</i> finden Sie Befehle, die Sie zum
+Ausf&uuml;hren und schrittweisen Abarbeiten des Programms verwenden. Weiters
+k&ouml;nnen Sie das laufende Programm unterbrechen. Die wichtigen Befehle
+k&ouml;nnen auch mit Funktionstasten gegeben werden. Zum effizienten Arbeiten
+empfehle ich, dass Sie sich diese Tasten eingew&ouml;hnen.
+<br><font size=-1>Diese Funktionen sind nicht konfigurierbar, aber vielleicht
+wollen Sie ein St&uuml;ckchen Code beisteuern, mit dem das geht?</font>
+<p>Im Men&uuml; <i>Haltepunkt</i> finden Sie Befehle zum Setzen, Entfernen,
+Aktivieren und Inaktivieren von permanenten und tempor&auml;ren Haltepunkten.
+Nat&uuml;rlich k&ouml;nnen Sie auch eine <a href="breakptlist.html">Liste
+der Haltepunkte</a> anzeigen. Sie k&ouml;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&ouml;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&uuml;
+<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&auml;ndern k&ouml;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&uuml;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&auml;ufig in CORBA-Programmen vor.) Gdb st&uuml;rzt
+dabei h&auml;ufig aufgrund eines Speicherzugriffsfehlers ab. KDbg erkennt,
+wenn <tt>gdb</tt> unerwartet beendet wird. Leider l&auml;sst sich nicht
+wirklich was dagegen unternehmen. Sie m&uuml;ssen <tt>gdb</tt> mittels
+<i>Datei|Programm</i>
+neu starten, das hei&szlig;t auch f&uuml;r die Debug-Sitzung zur&uuml;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:j6t@kdbg.org">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&uuml;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&auml;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&auml;ndert haben, werden rot hervorgehoben.
+<p>Sie k&ouml;nnen die ausgew&auml;hlte Variable oder Struktur-Member in
+das <a href="watches.html">Ausdr&uuml;ckefenster</a> kopieren, indem Sie
+mittels der rechten Maustaste das kleine Kontextmen&uuml; 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&ouml;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&ouml;nnen ein Format w&auml;hlen, wie der Speicherinhalt dargestellt
+werden soll, indem Sie die entsprechenden Optionen im Rechte-Maus-Men&uuml;
+w&auml;hlen.
+<p>Die zuletzt verwendeten Adressen werden zwischengespeichert und k&ouml;nnen
+&uuml;ber die Popup-Liste ausgew&auml;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&ouml;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&ouml;ffnet.
+Das Ausgabefenster zeichnet den Text auf, den das Programm auf <tt>stdout</tt>
+und <tt>stderr</tt> ausgibt.
+<p>Das Ausgabefenster l&auml;sst keine Eingabe zu und unterst&uuml;tzt
+nur eine &auml;u&szlig;erst minimale Terminalemulation: Lediglich <tt>\n</tt>
+(Zeilenvorschub, line-feed), <tt>\t</tt> (horizontaler Tabulator) und
+<tt>\r</tt> (Wagenr&uuml;cklauf, carriage-return) werden behandelt.
+Das reicht im Allgemeinen f&uuml;r Programme mit grafischer Benutzeroberfl&auml;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&uuml;r ist, dass KDbg nicht wissen
+kann, ob das Programm eine ausgefeilte Terminalemulation ben&ouml;tigt
+oder ob es Eingaben &uuml;ber das Terminal erwartet. Deshalb wird standardm&auml;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&auml;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&ouml;ffnete Programme</i> w&auml;hlen.</li>
+</ol>
+Sie k&ouml;nnen den Inhalt des Fensters jederzeit l&ouml;schen, indem Sie
+<i>L&ouml;schen</i> aus dem Popup-Men&uuml; w&auml;hlen, das Sie mit der
+rechten Maustaste aufrufen k&ouml;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&auml;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&ouml;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
+&uuml;ber Sitzungen hinweg erhalten.
+<blockquote><b><i>Wichtiger Hinweis:</i></b> Die getroffenen Einstellungen
+werden erst wirksam, wenn das Programm das <i>n&auml;chste Mal geladen</i>
+wird. Das bedeutet, dass Sie nach dem Dr&uuml;cken von OK in diesem Dialog
+das Programm erneut laden m&uuml;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&auml;hlt werden, der f&uuml;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> &uuml;bernommen. Wenn Sie cross-compilieren oder remote
+debuggen, werden Sie hier einen <tt>gdb</tt>-Befehl angeben, der f&uuml;r
+die Zielplattform geeignet ist. Die Standardeinstellung ist <tt>gdb&nbsp;--fullname&nbsp;--nx</tt>.
+Sie m&uuml;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&auml;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&auml;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&auml;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&uuml;r den Wager&uuml;cklauf <tt>\r</tt> (carriage-return,
+ASCII 13) wird <i>nicht</i> behandelt. Das ist ausreichend f&uuml;r Debug-Ausgaben,
+wie sie h&auml;ufig beim Programmierern grafischer Benutzeroberfl&auml;chen
+verwendet wird.</blockquote>
+
+<h4>
+Volle Terminalemulation</h4>
+
+<blockquote>W&auml;hlen Sie diese Option, falls Ihr Programm Eingaben &uuml;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 &uuml;blicherweise in Hexadezimaldarstellung
+angezeigt, selbst der Inhalt der Flie&szlig;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&szlig;kommaregistern wird die Flie&szlig;kommazahl
+angezeigt, die Flag-Register werden manchmal die gesetzten Flags in Worten
+dargestellt (h&auml;ngt von der verwendeten Version von <tt>gdb</tt> ab).</li>
+</ol>
+Durch Klicken mit der rechten Maustaste k&ouml;nnen Sie ein Kontextmen&uuml;
+aufrufen, &uuml;ber das Sie die Darstellung der Werte in der zweiten Spalte
+w&auml;hlen k&ouml;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&uuml;hrt
+wird. Weiters wird hier angezeigt, an welchen Stellen Haltepunkte gesetzt
+sind.
+<p>Neue Haltepunkte k&ouml;nnen gesetzt werden, indem Sie mit der linken
+Maustaste in den aktiven Bereich klicken. Mit der mittleren Maustaste k&ouml;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&ouml;ffnet. Sie k&ouml;nnen
+Dateien manuell &ouml;ffnen, indem Sie <i>Datei|Quellcode &ouml;ffnen</i>
+w&auml;hlen oder <i>Quellcode &ouml;ffnen</i> aus dem Rechte-Maus-Men&uuml;.
+</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&ouml;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&auml;chst-innere Frame
+stattfand; die Anzeige der <a href="localvars.html">lokalen Variablen</a>
+und die <a href="watches.html">Ausdr&uuml;cke</a> werden umgeschaltet,
+sodass die lokalen Variablen des gew&auml;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&uuml;tzt werden - es handelt sich
+hierbei nicht um ein Feature von KDbg. F&uuml;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&auml;hrend es l&auml;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&nbsp; <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&uuml;cke-Fenster</a> verwendet zur Evaluierung
+der Ausdr&uuml;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&auml;rt</a>.</li>
+
+<li>
+Sie k&ouml;nnen Haltepunkte als Lesezeichen verwenden: Setzen Sie einfach
+einen Haltepunkt und deaktivieren Sie diesen. Sp&auml;ter k&ouml;nnen Sie
+rasch an die entsprechende Stelle zur&uuml;ckkehren, indem Sie in der Liste
+der Haltepunkte doppel-klicken (oder&nbsp; <i>Code anzeigen</i> klicken).
+Da sich KDbg alle Haltepunkte &uuml;ber Sitzungen hinaus merkt, werden
+sie sofort wieder gesetzt, sobald sie das entsprechende Programm das n&auml;chste
+Mal debuggen.</li>
+
+<li>
+Auf folgende Weise k&ouml;nnen Sie Programmvariablen &auml;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&auml;ndert.
+Sie sollten die Variable nun sofort l&ouml;schen (indem Sie sie ausw&auml;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&ouml;nnen Werte im Watch-Bereich in den verschiedenen Formaten anzeigen
+lassen, die gdb versteht. Z.B. zeigt <tt>/x&nbsp;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&uuml;cke</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Ausdr&uuml;cke (Watches)</h1>
+Das Watches-Fenster wird mittels <i>Ansicht|Ausdr&uuml;cke</i> angezeigt.
+Dieses zeigt beliebige Ausdr&uuml;cke an (diese bezeichnet man auch als
+<i>Watches</i>).
+<p>Ein neuer Ausdruck wird hinzugef&uuml;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&ouml;nnen auch eine Variable oder einen Struktur-Member aus dem
+<a href="localvars.html">Lokale-Variablen-Fenster</a> her&uuml;berkopieren,
+indem Sie das dortige Kontextmen&uuml; zuhilfe nehmen.
+<p>Die eingegeben Ausdr&uuml;cke werden zwischen Sitzungen gespeichert.
+Wir empfehlen, Ausdr&uuml;cke zu entfernen, die nicht mehr ben&ouml;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:j6t@kdbg.org">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 &lt;file&gt; transcript of conversation with the debugger
+ -r &lt;device&gt; remote debugging via &lt;device&gt;
+ -l &lt;language&gt; specify language: C, XSLT []
+ -p &lt;pid&gt; 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&nbsp;<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 &quot;program&quot; 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 <Johannes.Sixt@telecom.at>.
+.br
+This manual page was prepared by Ben Burton <bab@debian.org>
+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>. Значение по умолчанию &#150;
+<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:j6t@kdbg.org">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>Если вы не собираетесь исследовать содержимое памяти, рекомендуется
+очистить выражение таким образом, чтобы содержимое памяти не выводилось
+&#150; это увеличит скорость процесса отладки.
+</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> выводит содержимое регистров
+в декодированной форме. Для арифметических регистров это
+обычно знаковое десятичное значение, для регистров с плавающей точкой
+&#150; число с плавающей точкой, регистры флагов декодируются в имена
+флагов.</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>