Review Request: Common Debugger infrastructure
Niko Sams
niko.sams at gmail.com
Mon Mar 30 18:02:53 UTC 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/379/
-----------------------------------------------------------
(Updated 2009-03-30 11:02:53.088999)
Review request for KDevelop.
Changes
-------
I updated the patch and ported the gdb debugger to the common debugger infrastructure.
With that gdb is working again. (regressions included)
Ported for now:
- all actions except start debugging (run must get more powerful for a common start action)
- framestack
All other ToolViews still work - in gdb.
Debugcontroller isn't a plugin anymore, is now directly in shell.
Also included is a simple unittest for gdb (to be extended)
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 (updated)
-----
trunk/KDE/kdevplatform/interfaces/icore.h 946943
trunk/KDE/kdevplatform/debugger/util/treemodel.h 942615
trunk/KDE/kdevplatform/debugger/util/treemodel.cpp 942615
trunk/KDE/kdevplatform/debugger/util/treeview.h 942615
trunk/KDE/kdevplatform/debugger/util/treeview.cpp 942615
trunk/KDE/kdevplatform/interfaces/CMakeLists.txt 946943
trunk/KDE/kdevplatform/debugger/interfaces/idebugsession.cpp PRE-CREATION
trunk/KDE/kdevplatform/debugger/interfaces/stackmodel.h PRE-CREATION
trunk/KDE/kdevplatform/debugger/interfaces/stackmodel.cpp PRE-CREATION
trunk/KDE/kdevplatform/debugger/util/treeitem.h 942615
trunk/KDE/kdevplatform/debugger/util/treeitem.cpp 942615
trunk/KDE/kdevelop/debuggers/gdb/CMakeLists.txt 946943
trunk/KDE/kdevelop/debuggers/gdb/breakpointcontroller.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/breakpoints.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/debuggerplugin.h 946943
trunk/KDE/kdevelop/debuggers/gdb/debuggerplugin.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/debugsession.h PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/debugsession.cpp PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/framestackwidget.h 946943
trunk/KDE/kdevelop/debuggers/gdb/framestackwidget.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/gdbcommand.h 946943
trunk/KDE/kdevelop/debuggers/gdb/gdbcontroller.h 946943
trunk/KDE/kdevelop/debuggers/gdb/gdbcontroller.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/ibreakpointcontroller.h 946943
trunk/KDE/kdevelop/debuggers/gdb/ibreakpointcontroller.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/ibreakpoints.h 946943
trunk/KDE/kdevelop/debuggers/gdb/inewbreakpoint.h 946943
trunk/KDE/kdevelop/debuggers/gdb/kdevgdbui.rc 946943
trunk/KDE/kdevelop/debuggers/gdb/newbreakpoint.h 946943
trunk/KDE/kdevelop/debuggers/gdb/newbreakpoint.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/stackmanager.h 946943
trunk/KDE/kdevelop/debuggers/gdb/stackmanager.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/tooltipwidget.h 946943
trunk/KDE/kdevelop/debuggers/gdb/tooltipwidget.cpp 946943
trunk/KDE/kdevelop/debuggers/gdb/unittests/CMakeLists.txt PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/unittests/debugee.cpp PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/unittests/gdbtest.h PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/unittests/gdbtest.cpp PRE-CREATION
trunk/KDE/kdevelop/debuggers/gdb/variablecollection.h 946943
trunk/KDE/kdevelop/debuggers/gdb/variablewidget.h 946943
trunk/KDE/kdevelop/tools/coverage/tests/corestub.h 946943
trunk/KDE/kdevplatform/CMakeLists.txt 946943
trunk/KDE/kdevplatform/KDevPlatformConfig.cmake.in 946943
trunk/KDE/kdevplatform/cmake/modules/FindKDevPlatform.cmake 946943
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/interfaces/idebugcontroller.h PRE-CREATION
trunk/KDE/kdevplatform/interfaces/idebugcontroller.cpp PRE-CREATION
trunk/KDE/kdevplatform/shell/CMakeLists.txt 946943
trunk/KDE/kdevplatform/shell/core.h 946943
trunk/KDE/kdevplatform/shell/core.cpp 946943
trunk/KDE/kdevplatform/shell/core_p.h 946943
trunk/KDE/kdevplatform/shell/debugcontroller.h PRE-CREATION
trunk/KDE/kdevplatform/shell/debugcontroller.cpp PRE-CREATION
trunk/KDE/kdevplatform/shell/debugger/framestackwidget.h PRE-CREATION
trunk/KDE/kdevplatform/shell/debugger/framestackwidget.cpp PRE-CREATION
trunk/KDE/kdevplatform/shell/debugger/kdevdebuggershellui.rc PRE-CREATION
trunk/KDE/kdevplatform/shell/mainwindow.cpp 946943
trunk/KDE/kdevplatform/shell/plugincontroller.cpp 946943
Diff: http://reviewboard.kde.org/r/379/diff
Testing
-------
ported the xdebug plugin
Thanks,
Niko
More information about the KDevelop-devel
mailing list