Commit Graph

139 Commits

Author SHA1 Message Date
hjk
3282c1af27 debugger: remove unused bits from the debugger plugin interface 2010-12-06 08:43:29 +01:00
hjk
3006a136d0 debugger: disentangle settings read and write code 2010-12-06 08:25:29 +01:00
hjk
05f6151d33 debugger: merger DebuggerMainWindow and DebuggerUISwitcher 2010-12-02 17:34:04 +01:00
hjk
2161e0f6d9 debugger: refactoring of the plugin interface
There's  some 'external' and some 'internal' part now. Other plugins
are only supposed the external interface.
2010-11-10 12:08:23 +01:00
hjk
f02f08167f debugger: some cleanup after the model/view reorganization 2010-11-08 17:44:01 +01:00
hjk
71007d2ccb debugger: less indirections when opening files 2010-11-08 17:44:00 +01:00
hjk
b373da1b12 debugger: more handler/window refactoring 2010-11-08 13:20:12 +01:00
hjk
1afea78c7d debugger: convert register handler/window architecture 2010-11-05 13:51:02 +01:00
hjk
91ba3949d5 debugger: remove sessionengine 2010-11-05 13:36:18 +01:00
hjk
8e62715130 debugger: move logical ownership of breakhandler from engines to plugin 2010-11-04 09:55:05 +01:00
Friedemann Kleint
2836fde7e6 Debugger: Fix attaching via QtSingleApplication.
In case qtcdebugger sends a command to an already running
instance of Qt Creator (Windows).

Reviewed-by: hjk
Task-number: QTCREATORBUG-2814
2010-10-20 12:13:28 +02:00
Friedemann Kleint
f7b19f8114 Debugger: Move DebuggerEngine/QmlEngine/QmlCppEngine into Debugger{}
namespace (from Debugger::Internal) as they are exported classes.
Introduce private classes to avoid exposing private JS debugger
headers.
2010-09-13 13:30:35 +02:00
Lasse Holmstedt
afdd933ff3 Debugger UI: Don't switch layout while debugging
Reviewed-by: hjk
2010-08-27 16:24:36 +02:00
hjk
dedba8c87d debugger: deactivate debug mode if the last engine exits
Task-number: QTCREATORBUG-2201
2010-08-27 15:38:51 +02:00
Lasse Holmstedt
b557c58eac Qml Debugger: Enable debugging qml+cpp standalone applications
A new debugger engine, QmlCppEngine, is introduced, which wraps gdb
and qml engines into one. Alternatively, if using Windows, Cdb is used
instead of Gdb.

Most of the debugger ui switcher is now rewritten, and it is tailored
for the QML and CPP layout case, the only one supported anyway.

Reviewed-by: hjk
2010-08-24 17:46:22 +02:00
Friedemann Kleint
6840c1d198 Debugger: Refactor run control termination.
Fix breakage introduced by the new asynchronous stop() methods
of the debugger run controls. Allow for RunControl::stop() to
be asynchronous by introducing a return enumeration indicating
that. Introduce additional method aboutToStop() asking user
to quit (tie that to the RunControl instead of having to hack
the behaviour elsewhere).
If asynchronous stop is detected, terminate the ProjectExplorer
asynchronously.
This makes the behaviour consistent across switching sessions/
closing outputwindow tabs and quitting Qt Creator.

Reviewed-by: dt
Rubber-stamped-by: hjk
2010-08-20 14:19:25 +02:00
hjk
64f26f2cc1 debugger: remove unused DebuggerPlugin::stateChanged(int) signal 2010-08-11 09:12:23 +02:00
hjk
6abc9dcc8f debugger: make a few functions private 2010-07-22 10:59:22 +02:00
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