summaryrefslogtreecommitdiffstats
path: root/languages/lib/debugger/Mainpage.dox
blob: 6dfb64ab9d55dc610410a5d5430f1719a1603b01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
@mainpage The KDevelop %Debugger Support Library

This library contains classes to implement debugger support for a programming language.

<b>Link with</b>: -llang_debugger

<b>Include path</b>: -I\$(kde_includes)/kdevelop/languages/debugger

\section usingdebugger Where to use this library

Each debugger support plugin must interact with an editor to set breakpoints,
jump to execution points, etc. This kind of interaction is implemented in
@ref Debugger class. Your debugger support plugin just need to create
an instance of @ref Debugger class and connect its Q_SIGNALS, for example:
@code
m_debugger = new Debugger( partController() );

connect( m_debugger, SIGNAL(toggledBreakpoint(const QString &, int)),
            debuggerBreakpointWidget, SLOT(slotToggleBreakpoint(const QString &, int)) );
connect( m_debugger, SIGNAL(editedBreakpoint(const QString &, int)),
            debuggerBreakpointWidget, SLOT(slotEditBreakpoint(const QString &, int)) );
connect( m_debugger, SIGNAL(toggledBreakpointEnabled(const QString &, int)),
            debuggerBreakpointWidget, SLOT(slotToggleBreakpointEnabled(const QString &, int)) );
@endcode
Then m_debugger instance can be used for example, to jump to the execution point:
@code
m_debugger->gotoExecutionPoint(fileUrl, lineNumber);
@endcode
or to set a breakpoint:
@code
m_debugger->setBreakpoint(fileName, lineNumber, id, enabled, pending);
@endcode

*/