diff options
Diffstat (limited to 'doc/en/index.html')
-rw-r--r-- | doc/en/index.html | 185 |
1 files changed, 185 insertions, 0 deletions
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> |