Commit Graph

71 Commits

Author SHA1 Message Date
hjk
9cbbeec6c1 debugger: move convienience function to DebuggerEngine base class 2010-07-21 14:28:29 +02:00
hjk
b31a29b18d debugger: remove unused DebuggerPlugin::exitDebugger(); 2010-07-21 14:28:29 +02:00
hjk
df107ca905 debugger: remove unneeded DebuggerPlugin::state() fucntion 2010-07-21 14:28:29 +02:00
hjk
e952470bcd debugger: move coreAboutToClose() check to DebuggerPlugin 2010-07-20 16:03:21 +02:00
ck
08bc6c0027 Maemo: Get rid of MaemoDebugRunControl.
Use Debugger::DebuggerRunControl directly instead of wrapping it
into another RunControl.

Reviewed-by: hjk
2010-07-15 17:01:31 +02:00
hjk
42f326af60 debugger: start moving to the async shutdown infrastructure 2010-07-15 14:54:43 +02:00
hjk
fc3b503644 debugger: make -debug binary@host:port[@arch] work on the commandline to
attach to a gdb server
2010-07-15 10:45:51 +02:00
hjk
99fdaf06a2 debuygger: make snapshots using true parallel engines 2010-07-14 17:49:17 +02:00
con
b3dbc4b4e4 Add flag to IPlugin::aboutToShutdown that allows asynchronous shutdown.
If a plugin requests asyncronous shutdown, the shutdown sequence does
not continue to deleting the plugins before it has sent a
asynchronousShutdownFinished signal. During that time an event loop
is running.
2010-07-13 15:25:21 +02:00
hjk
200b18d44a debugger: don't load registers if view is not shown 2010-06-28 10:30:18 +02:00
hjk
ed2862acce debugger: remove special mechanism to update watcher and return window 2010-06-23 14:12:14 +02:00
hjk
5adb6559e2 debugger: attempt to fix symbian output connections 2010-06-23 12:40:56 +02:00
hjk
e6590ff598 debugger: fix addToWatchWindow 2010-06-23 11:06:01 +02:00
hjk
4b14dc5be8 debugger: make DebuggerPlugin::showStatusMessage private 2010-06-22 17:46:44 +02:00
hjk
0f1290b0c0 debugger: link fix 2010-06-22 11:45:45 +02:00
hjk
6a6cba5518 debugger: The DebuggerEngine refactoring.
This replaces the (de facto) singleton engines and data handlers by classes
that are instantiated per run. The DebuggerRunControl will now create an
object of (a class derived from) DebuggerEngine that contains all the relevant
"dynamic" data.

DebuggerManager is no more. The "singleton" bits are merged into DebuggerPlugin,
whereas the data bits went to DebuggerEngine.

There is no formal notion of a "current" DebuggerEngine. However, as there's
only one DebuggerEngine at a time that has its data models connected to the
view, there's still some "de facto" notion of a "current" engine. Calling
SomeModel::setData(int role, QVariant data) with custom role is used as the
primary dispatch mechanism from the views to the "current" data models
(and the engine, as all data models know their engine).
2010-06-22 10:59:57 +02:00
hjk
97edcb7977 debugger: start 'runcontrol-ification' of the debugger plugin.
This replaces most uses of DebuggerStartParameters by DebuggerRunControl
which is a simple RunControl with a DebuggerStartParameters member.

Plan is to move all global state to the run controls, and possibly
introduce specialized ones for core debugging etc.
2010-06-14 10:45:11 +02:00
hjk
d8318a9502 debugger: refactor breakpoint handling
Use BreakpointData objects for communicaition instead of random
collection of some of their attributes.
2010-05-17 15:41:59 +02:00
hjk
a945e96377 Revive TCF agent
This mainly reverts commit ba47987e67.

Conflicts:

	src/plugins/debugger/debugger.pro
	src/plugins/debugger/debuggermanager.cpp
	src/plugins/debugger/debuggermanager.h
	src/plugins/debugger/debuggerplugin.cpp
	src/plugins/debugger/debuggerplugin.h
2010-05-05 12:41:52 +02:00
con
ca14299790 Rename IPlugin::shutdown --> IPlugin::aboutToShutdown
Discussed-with: hjk
2010-04-28 17:32:01 +02:00
hjk
239e4ca507 debugger: move toggleBreakpoint() from DebuggerManager to DebuggerPlugin 2010-04-09 15:58:17 +02:00
hjk
c3afba0f0d debugger: add a context menu action to the stackview to create a full
backtrace in the main editor.

Useful for sending bug reports.
2010-03-30 17:26:52 +02:00
Lasse Holmstedt
492fffb4cc Added automatic language switching option to debugger settings
Additionally, hiding of debugger menu entries was done as most of
them are irrelevant for QML debugging.
2010-03-18 17:05:22 +01:00
Friedemann Kleint
bbcacaf59f Header cleaning spree in Core/Debugger and Symbian/Maemo-code of Qt4. 2010-03-18 10:59:06 +01:00
Friedemann Kleint
0146926f19 Debugger: Improve engine detection.
Try to detect engine by looking at toolchain, executable,
attach mode. Find out path to executable in attach to running
dialog.

Reviewed-by: hjk
2010-03-17 10:57:19 +01:00
hjk
60995cf0ab debugger: re-enable basic support for reverse execution.
Needs polishing.
2010-03-11 12:04:19 +01:00
con
171cb415dc Build 2010-03-10 14:32:30 +01:00
hjk
e6be08b388 debugger: use ITextEditor in DebuggerManager
The dependency was there for a while. No need to jump through hoops hoping
to maintain a stand-alone debugger anymore.
2010-03-10 13:58:20 +01:00
hjk
6321e4ebfe debugger: closer dependency plugin<->manager, less signal/slot connections 2010-03-10 13:46:46 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Lasse Holmstedt
580280af26 Changed QML Inspector from a separate global mode to a plugin.
The new QML Inspector depends on DebuggerPlugin. Also added a dropdown menu into
the debugger toolbar from which the user can select the used debugging
language, e.g. C++ or QML.
2010-02-16 15:13:09 +01:00
Friedemann Kleint
bd8d2b0b8a Debugger: Enable attaching with -client option.
Make it possible to trigger a debug-attach in a running instance
of Qt Creator by means of -client, use that in qtcdebugger, thus
enabling it to attaching to crashing executables in run mode
(Windows/CDB).

Modify IPlugin and application so that the complete command line is
serialized and transmitted to a running instance via QtSingleApplication
if -client is specified. Introduce IPlugin::remoteArgument and use that
in core for opening files and in the debugger for attaching.

Use -client in qtcdebugger with some logic to keep it alive as long as
the debuggee, make CDB break in that case as the events are not replayed
correctly in case the debugger is not spawned by the registered handler.
Rubber-stamped-by: con <qtc-committer@nokia.com>
2009-12-14 18:01:39 +01:00
Oswald Buddenhagen
ba47987e67 purge TCF agent cra^Wstuff
it's dead code
2009-10-08 12:18:03 +02:00
hjk
93902e5d0a debugger: make 'qtcreator -debug <corefile>' work 2009-09-30 12:27:44 +02:00
hjk
c27d8b7280 debugger: move DisassemblerViewAgent from plugin to manager 2009-09-29 16:32:54 +02:00
con
6d839a9919 Build fix for Mac. 2009-09-28 11:42:46 +02:00
Friedemann Kleint
90470771fd Debugger: Export DebuggerManager and DebuggerStartParameters.
For device debugging. Move both from namespace
Debugger::Internal to Debugger, export them, give
DebuggerManager a static instance().
2009-09-25 16:01:28 +02:00
Friedemann Kleint
978cf4bda8 Rename IRunConfigurationRunner -> IRunControlFactory...
and ApplicationRunConfiguration to LocalApplicationRunConfiguration,
preparing remote debugging. Change the interface canRun() to be const,
run() to create() (since it does not run anything), use references
to the QSharedPointer<Foo>. Introduce d-Pointer and remove
unneeded headers from ProjectExplorerPlugin and add missing includes
everywhere.
2009-09-25 11:35:44 +02:00
hjk
20b9258d9e debugger: refactoring
Intergrate per-engine state tracking with the global running/stopped state.
2009-09-25 08:36:44 +02:00
hjk
063d13e00f debugger: work on general shutdown handling 2009-09-24 10:54:50 +02:00
Friedemann Kleint
9fe978fe39 CDB: Compile, new Disassembler architecture. 2009-08-17 16:03:27 +02:00
hjk
e82d6c7b05 debugger: create a disassembler view as main editor
"Stepping instruction wise" and "display disassembler" mode is now toggled by a
single action. This also allows to re-use F10 and F11 as keyboard shortcut.

Missing: caching of disassembler output, removal of old disassembler view.
2009-08-17 13:18:54 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
Friedemann Kleint
09380afe90 Get attaching to a crashed Windows process right (CDB).
Handle  the 2nd parameter correctly as a event id
to be used for a handshake. Introduce a special mode
when attaching to crashed processes.
Code cleanup, pass StartParameters along to startDebugger.
2009-05-26 16:27:24 +02:00
Friedemann Kleint
c4a0abcda7 Enabled passing on PIDs from the command line to the debugger.
Introduced struct DebuggerStartParameters to pass around
start parameters, removing the need for the engines to
access private members of DebuggerManager. Pass it
to DebuggerManager::startNewDebugger() and move
the GUI parts of that function into DebuggerPlugin,
making it possible to create the struct from command line
parameters. Introduce command line parsing with a few more
-enable-xx options. Introduce warning() to debugger panel
in the CDB engine.

On this occasion, clean out a few trailing whitespaces.
2009-05-25 16:22:11 +02:00
con
564f7b9eb5 Make floating gdb views possible. Hiding when mode is switched. 2009-05-15 16:55:35 +02:00
hjk
f70ce8dc36 debugger: add a menu entry for the (defunct) TCF attaching 2009-05-07 17:11:19 +02:00
hjk
2fce747a6d debugger: start work "Target Communication Framework" "frontend" 2009-05-07 16:51:02 +02:00
hjk
5bcc81a61e debugger: introduce an explicit detach action 2009-05-07 15:20:44 +02:00