Review Request: Common Debugger infrastructure

Niko Sams niko.sams at gmail.com
Tue Mar 24 21:24:03 UTC 2009



> On 2009-03-24 13:44:16, vladimir.prus wrote:
> > trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.h, line 60
> > <http://reviewboard.kde.org/r/379/diff/2/?file=3493#file3493line60>
> >
> >     Same comment re cursor position applies.

better it should directly work with a BreakpointsModel and add the breakpoint there.


> On 2009-03-24 13:44:16, vladimir.prus wrote:
> > trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.h, line 53
> > <http://reviewboard.kde.org/r/379/diff/2/?file=3493#file3493line53>
> >
> >     Is it expected that debugger figure where cursor is, and does something? Can this method take KUrl and line, and the common code figure the cursor position and pass that?

yes - to be added...


> On 2009-03-24 13:44:16, vladimir.prus wrote:
> > trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.h, line 52
> > <http://reviewboard.kde.org/r/379/diff/2/?file=3493#file3493line52>
> >
> >     This method need a comment (just like other methods here, btw). In particular, does it interrupts the application, when it's running, or it interrupts the debugger itself when it is performing long-running operation that is not necessary related to running the program

once we know what they do we have to do that :D
I was just moving all actions from gdb to this class.


> On 2009-03-24 13:44:16, vladimir.prus wrote:
> > trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.h, line 37
> > <http://reviewboard.kde.org/r/379/diff/2/?file=3493#file3493line37>
> >
> >     This set of state is not sufficient for GDB purposes. There, we need to explicitly distinguish between 'GDB started' and 'GDB started and application started' states. Also, 'ActiveState' and 'PausedState' imply that the program is either running or stopped. With GDB non-stop mode some threads are running and others are stopped. The same debug approach is taken by Java. I'd recommend using some way to indicate 'debugger can respond', instead. If debugger can respond, then it means we can send it a command to ask about the state of individual threads.

Does the UI have to care about that? Basically this state is just to disable/enable various actions.
Gdb has it's own internal states.

Or do you think such a "debugger can respond"-state could be seen in the UI?


- Niko


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/379/#review592
-----------------------------------------------------------


On 2009-03-21 14:46:23, Niko Sams wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/379/
> -----------------------------------------------------------
> 
> (Updated 2009-03-21 14:46:23)
> 
> 
> Review request for KDevelop.
> 
> 
> Summary
> -------
> 
> - IDebugController: has just one slot to add a Debug-Session, debuggers/shell implements this interface.
>   Debugger-plugins search for the debuggers/shell plugin and call IDebugController::addSession when
>   a debug session is started.
> - IDebugSession: debugger plugin inherits from this class to use the debugger UI and communicate
>   with the debuggers/shell plugin.
> 
> Currenly only the various actions are implemented; Breakpoints, Variable-Views, Stack-Views etc.
> should be possible in a similar way.
> 
> Please review my ideas and tell me if I go into a wrong direction - or what could be improved.
> 
> 
> Diffs
> -----
> 
>   trunk/KDE/kdevplatform/CMakeLists.txt 941839 
>   trunk/KDE/kdevplatform/KDevPlatformConfig.cmake.in 941839 
>   trunk/KDE/kdevplatform/cmake/modules/FindKDevPlatform.cmake 941839 
>   trunk/KDE/kdevplatform/debugger/CMakeLists.txt PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/debuggerexport.h PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.h PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.cpp PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/shell/CMakeLists.txt PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/shell/debuggershellplugin.h PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/shell/debuggershellplugin.cpp PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/shell/kdevdebuggershell.desktop PRE-CREATION 
>   trunk/KDE/kdevplatform/debugger/shell/kdevdebuggershellui.rc PRE-CREATION 
>   trunk/KDE/kdevplatform/interfaces/CMakeLists.txt 941839 
>   trunk/KDE/kdevplatform/interfaces/idebugcontroller.h PRE-CREATION 
>   trunk/KDE/kdevplatform/interfaces/idebugcontroller.cpp PRE-CREATION 
> 
> Diff: http://reviewboard.kde.org/r/379/diff
> 
> 
> Testing
> -------
> 
> ported the xdebug plugin
> 
> 
> Thanks,
> 
> Niko
> 
>





More information about the KDevelop-devel mailing list