summaryrefslogtreecommitdiffstats
path: root/doc/kdevelop/debugger.docbook
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-16 16:06:07 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-16 16:06:07 -0600
commit5fbf99bcc4d03f3001f42905d1217758c4aeac13 (patch)
treeb61aa3fd6d7b0e8302a8b11a18ef2cab5f404951 /doc/kdevelop/debugger.docbook
parent06c48bfff719dedfe6f271fe5a363453e4af6d31 (diff)
downloadtdevelop-5fbf99bcc4d03f3001f42905d1217758c4aeac13.tar.gz
tdevelop-5fbf99bcc4d03f3001f42905d1217758c4aeac13.zip
Finish rename from prior commit
Diffstat (limited to 'doc/kdevelop/debugger.docbook')
-rw-r--r--doc/kdevelop/debugger.docbook242
1 files changed, 0 insertions, 242 deletions
diff --git a/doc/kdevelop/debugger.docbook b/doc/kdevelop/debugger.docbook
deleted file mode 100644
index 247d26ff..00000000
--- a/doc/kdevelop/debugger.docbook
+++ /dev/null
@@ -1,242 +0,0 @@
-<chapter id="debugger">
-<title>The Debugger Interface</title>
-<indexterm zone="debugger"><primary>debugger</primary></indexterm>
-
-<para>
-For C and C++, &tdevelop; contains an internal debugger that is directly
-integrated with the editor. Technically, it is implemented as a frontend
-that uses the portable &GNU; debugger <application>gdb</application> through
-a pipe. The debugger can be started in several ways:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-With <menuchoice><guimenu>Debug</guimenu><guimenuitem>Start</guimenuitem></menuchoice>,
-the main program of your project is loaded into the debugger.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Using <menuchoice><guimenu>Debug</guimenu>
-<guimenuitem>Start (other)</guimenuitem>
-<guimenuitem>Examine core file</guimenuitem></menuchoice> you load a core file
-into memory, which is generated by the operating system kernel when the
-program has crashed (The generation of core files may be switched off on your
-system, see <application>ulimit(1)</application>). This is useful for a
-post-mortem analysis of a program.
-</para>
-</listitem>
-
-<listitem>
-<para>
-With <menuchoice><guimenu>Debug</guimenu>
-<guimenuitem>Start (other)</guimenuitem>
-<guimenuitem>Attach to process</guimenuitem></menuchoice> you invoke the
-debugger on an already running program. You will be shown a
-process list where you can select the process which the debugger
-should take over.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Note that debugging is only possible if your project has been compiled with
-debugging information enabled. It can be activated in the
-<guibutton>Compiler options</guibutton> dialog. When this option is switched
-on, the compiler generates additional data which allows the debugger to
-associate file names and line numbers with addresses in the executable.
-</para>
-</listitem>
-</itemizedlist>
-
-<para>
-The debugger frontend offers several views <quote>into</quote> the process:
-</para>
-
-<para>If you try to debug a project without debugging information, you get
-the message <computeroutput>No source...</computeroutput> in the status
-bar.If you try to set a breakpoint, it is shown as <computeroutput>Pending
-(add)</computeroutput> in the breakpoint window (see below).
-</para>
-
-<variablelist>
-<varlistentry>
-<term>Variables</term>
-<listitem>
-<indexterm zone="debugger"><primary>watch variables</primary></indexterm>
-<para>
-This window lists the values of all local variables at the current execution
-point of the program. It covers the variables in the complete call stack,
-&ie; the function where the process was interrupted, the function that called
-this function, and so on up to <function>main()</function> function.
-</para>
-
-<para>
-Another branch in the variables contains watch variables. You can configure
-yourself which variables are shown here. Both local and global variables can
-be watched. You can add variables either by clicking on the
-<guibutton>Add</guibutton> button or pressing <keycap>Return</keycap> while
-the <guilabel>Watch</guilabel> item is selected. They can be removed again
-via the context menu.
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>Frame Stack</term>
-<listitem>
-<indexterm zone="debugger"><primary>frame stack</primary></indexterm>
-<para>
-(... to be written ...)
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>Breakpoints</term>
-<listitem>
-<indexterm zone="debugger"><primary>breakpoints</primary></indexterm>
-<para>
-This window allows you to see and manipulate the breakpoints. Remember that
-&tdevelop; uses <application>GDB</application>, so to fully understand the
-&tdevelop; debugging features, you should know a little bit about the <ulink
-url="http://www.gnu.org/software/gdb">GDB</ulink>.
-</para>
-
-<para>If you want to look at the source code, breakpoints are defined in
-<filename>tdevelop/languages/cpp/debugger/breakpoint.h</filename>.
-</para>
-
-<para>At the left edge, the window has buttons to:</para>
-
-<itemizedlist>
-<listitem><para>Add an empty breakpoint</para></listitem>
-<listitem><para>Edit the selected breakpoint</para></listitem>
- <listitem><para>Delete the selected breakpoint</para></listitem>
-<listitem><para>Remove all breakpoints</para></listitem>
-</itemizedlist>
-
-<para>The main part of the window is a table with 7 columns. Each line in
-the table is a breakpoint. The columns are:</para>
-
-<orderedlist>
-<listitem><para>Selection checkbox</para></listitem>
-<listitem><para>Type: one of: Invalid, File:Line, Watchpoint, Address, Function</para></listitem>
-<listitem><para>Status. Values are:</para>
-<itemizedlist>
- <listitem><para>Active</para></listitem>
- <listitem><para>Disabled: Each breakpoint may be <quote>enabled</quote> or
- <quote>disabled</quote>; if disabled, it has no effect on your program until
- you enable it again.</para></listitem>
- <listitem><para>Pending (add): a breakpoint is marked like this if no
- debugging information is available. From GDB Info page:
- <blockquote><para>If a specified breakpoint location cannot be found, it may be due to
- the fact that the location is in a shared library that is yet to be
- loaded. In such a case, you may want GDB to create a special
- breakpoint (known as a <quote>pending breakpoint</quote>) that attempts to resolve
- itself in the future when an appropriate shared library gets loaded.</para>
- </blockquote>
- </para></listitem>
-</itemizedlist>
-</listitem>
-<listitem><para>Pending (clear)</para></listitem>
-<listitem><para>Pending (modify)</para></listitem>
-<listitem><para>Location in the format filename:linenumber</para></listitem>
-<listitem><para>Condition</para></listitem>
-<listitem><para>Ignore Count: If this is a number <varname>COUNT</varname>
-greater than zero, the next <varname>COUNT</varname> times the breakpoint is
-reached, your program's execution does not stop; other than to decrement the
-ignore count, <application>gdb</application> takes no action.</para></listitem>
-<listitem><para>Hits: counts how many times a breakopint has been hit.</para></listitem>
-</orderedlist>
-
-
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>Disassemble</term>
-<listitem>
-<indexterm zone="debugger"><primary>disassemble</primary></indexterm>
-<para>(... to be written ...)</para>
-
-</listitem>
-</varlistentry>
-</variablelist>
-
-
-<sect1 id="settingbreakpoints">
-<title>Setting Breakpoints</title>
-
-<para>
-(... to be written ...)
-</para>
-
-</sect1> <!-- settingbreakpoints -->
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id ="debuggeroptions">
-<title>Options</title>
-
-<variablelist>
-<varlistentry>
-<term>Display Mangled Names</term>
-<listitem>
-<indexterm zone="debugger"><primary>name mangling</primary></indexterm>
-<indexterm zone="debugger"><primary>mangling</primary><secondary>name</secondary></indexterm>
-
-<para>
-In C++, function names in the executable are <quote>mangled</quote>, &ie;
-the function names include information about the argument types. This is
-necessary in order to support overloading of functions. The mangling
-algorithm is not standardized and differs even between different versions of
-the &GNU; C++ compiler.
-</para>
-
-<para>
-In the disassembling window, normally unmangled names are displayed, so
-function signatures appear in the similar way as in the source code, so
-they are easily readable. Alternatively, you can decide to see mangled names.
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>Try Setting Breakpoints on Lib Load</term>
-<listitem>
-<indexterm zone="debugger"><primary>lazy breakpoints</primary></indexterm>
-<indexterm zone="debugger"><primary>breakpoints</primary><secondary>lazy</secondary></indexterm>
-
-<para>
-The debugger backend <application>gdb</application> does not allow to set
-breakpoints within code that is not currently loaded. In a highly modular
-application, where often code is only loaded on demand as a plugin (using
-the libc function <function>dlopen(3)</function>), this can be inconvenient.
-Therefore, &tdevelop; rolls its own support for breakpoints in shared
-libraries. If you set this option, it allows you to set breakpoints in
-libraries which are not loaded. Then, whenever <application>gdb</application>
-notifies that a library is loaded, &tdevelop; tries to set the pending
-breakpoints.
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>Enable Floating Toolbar</term>
-<listitem>
-<indexterm zone="debugger"><primary>debugger toolbar</primary></indexterm>
-<indexterm zone="debugger"><primary>toolbar</primary><secondary>debugger</secondary></indexterm>
-
-<para>
-(... to be written ...)
-</para>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect1> <!-- debuggeroptions -->
-
-</chapter> <!-- debugger -->