Commit Graph

300 Commits

Author SHA1 Message Date
Lasse Holmstedt
7afef49682 Qml Debugger: Code style and cleanup
Reviewed-by: hjk
2010-08-24 17:47:20 +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
ad9ff8ed74 Debugger: Fix exit crash.
Make sure DebuggerRunner::finished() is always connected to
handleFinished() (even for subclassed DebuggerRunners). Add
some more debugging information.
2010-08-24 16:22:21 +02:00
Friedemann Kleint
54f9654bd3 Debugger: Fix Symbian.
...which subclasses DebuggerRunner and does not call
DebuggerPlugin::startDebugger(), which connects the
engine, leading to strange malfunctions. Move functionality
to DebuggerRunner::start() to make it self-contained.
Add object names to engines for easier debugging.

Reviewed-by: hjk
2010-08-24 15:35:46 +02:00
Friedemann Kleint
5b4f826552 S60: Dis-embed the embedded run S60 debugger run control.
As it created 2 output panes that could be closed indepently
of each other.
2010-08-20 15:23:42 +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
Lasse Holmstedt
f23c2286c9 QML Debugger: OS X support for detecting qml viewer/observer 2010-08-13 14:59:47 +02:00
Lasse Holmstedt
b71c3c62ba QML Debugger refactoring
Now, QmlEngine creates the connection to the inferior (debuggee), and
notifies QmlInspector when a connection is established. Before,
inspector created the debugger engin, which was wrong.

QmlEngine's responsibilities are connecting to the debuggee and basic
QML/JS debugging features like locals & watchers, breakpoints etc.
QmlInspector takes care of Live Preview and other fancy inspection
features.

Reviewed-by: hjk
2010-08-13 14:20:39 +02:00
Olivier Goffart
9df9695a7f debugger: get rid of the private header dependency
Removed the CanvasFrameRate class as it is not used, and
depends on private Qt API
2010-08-10 10:10:39 +02:00
Kai Koehne
17bab9dce9 Debugger: Fix compilation if no private headers are specified
Don't try to compile the qml debugger backend (which needs
private headers from Qt) if private headers cannot be located.

Reviewed-by: hjk
2010-08-09 14:40:28 +02:00
hjk
96561a38c7 debugger: enable debugging of multiple projects at the same time 2010-07-22 10:59:22 +02:00
hjk
f292254967 debugger: attempt to re-try examining dumper location after build.
Still does not work as the location itself is unknown.
2010-07-21 12:07:49 +02:00
hjk
753a28ed4e debugger: make debugger restartable using the buttons in the application output pane 2010-07-20 18:54:50 +02:00
hjk
063ae8ad97 debugger: remove unused DebuggerRunner::init() 2010-07-20 18:54:50 +02:00
hjk
80f52cce28 debugger: tie engine creation close to runconfiguration creation
We'd like to be able to restart a debugger engine at some point of time.
2010-07-20 18:54:50 +02:00
hjk
038d943f9a debugger: fix shutdown by pressing "[x]" in the output pane 2010-07-02 12:40:36 +02:00
hjk
afb54077f5 debugger: fix some regressions in the log output after the engine refactoring 2010-06-30 14:40:04 +02:00
Friedemann Kleint
beba423a16 Debugger[Trk]: Added TCF experimental adapter.
Added adapter to work with TCF over WLAN.
Factor out common code for Symbian from TrkAdapter.
Improve message logging in TrkGdbAdapter, some cleanup.
Added new TcfTrkGdbAdapter based on TcfTrkDevice
in symbianutils based on JSON, using QTcpSocket.
To be started via special @tcf@ argument.
Rubber-stamped-by: hjk
2010-06-25 15:06:30 +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
c5c0dc76a0 debugger: restore session breakpoints if RunControl finishes 2010-06-22 15:14:44 +02:00
hjk
eba9157476 debugger: pass RunConfiguration to ProjectExplorer::RunControl constructor if known. 2010-06-22 12:42:26 +02:00
Friedemann Kleint
ecff29be07 Compile Windows. 2010-06-22 12:28:05 +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
a4f412388d debugger: move m_inferiorPid from DebuggerManager to DebuggerRunControl 2010-06-15 12:51:18 +02:00
hjk
25c11c4ce0 debugger: move SnapshotHandler from DebuggerManager to DebuggerRunControl 2010-06-15 12:48:30 +02:00
hjk
ff7c543a73 debugger: move RegisterHandler from DebuggerManager to DebuggerRunControl 2010-06-15 11:43:20 +02:00
hjk
69a4ed3255 debugger: move ModulesHandler from DebuggerManager to DebuggerRunControl 2010-06-15 11:43:20 +02:00
hjk
83e479824e debugger: add model accessors to run control
Plan is to move the models themselves from DebuggerManager to
DebuggerRunControl.
2010-06-15 11:43:20 +02:00
Robert Loehning
5b30072731 Compile fixes
Wrote down what hjk told me.
2010-06-14 19:09:18 +02:00
hjk
9f7e9dc0ae debugger: refactoring of output channeling 2010-06-14 18:22:09 +02:00
hjk
b3aff6b919 debugger: more of the RunControl refactoring
Pass output through the RunControl instead of the DebuggerManager.
2010-06-14 17:24:13 +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
a89643a833 debugger: more runconfig refactoring 2010-06-14 10:45:11 +02:00
hjk
dbdecb2f8f debugger: more RunControl related cleanup 2010-06-14 10:45:11 +02:00
hjk
cbfd320346 debugger: remove unused member and code cosmetics 2010-06-14 10:45:10 +02:00
hjk
b7563b3db2 debugger: streamline RunControl creation a bit 2010-06-14 10:45:10 +02:00
hjk
17a2f6711e debugger: start second shot at Qml debugging 2010-06-10 14:45:31 +02:00
hjk
4f772ea0e0 debugger: show name of core file in output pane.
This is a partial fix for http://bugreports.qt.nokia.com/browse/QTCREATORBUG-1574.
2010-06-07 16:41:28 +02:00
hjk
e65e011706 debugger: let the user specify a working directory when starting a local
application
2010-05-12 11:48:00 +02:00
dt
f4ea0d79b9 Add a runMode method to the RunControl
And use it to implement changing the run icon in the application output.
That implementation does only support the two run modes run and debug
for now. Further abstraction for more run modes to be done once needed.

Task-Nr:   QTCREATORBUG-1232
2010-05-03 11:25:09 +02:00
Friedemann Kleint
7f0d4ea542 Compile fix gcc 4.5/MinGW 2010-04-21 08:26:08 +02:00
Erik Verbruggen
e3bceff3ee Separated child-process stdout/stderr, and seperated "our" output/errors.
So now the "Applciation Output" can distinguish between these four, and
handle them appropriately.
2010-04-19 14:21:48 +02:00
Thorbjørn Lindeijer
2ab7d2eafc Some documentation comment formatting and a rename
Renamed RunConfiguration::configurationWidget to
createConfigurationWidget.

Reviewed-by: dt
2010-04-16 13:31:22 +02:00
Lasse Holmstedt
990ec1be91 Added debugging mode for simultaneous QML and C++ debugging
It's not yet possible to attach to an external app running a qml
debugging server, because the server is only started on startup if an
env variable is set. Changing this requires action from Brisbane, but
even the current solution works for C++ apps with QML in them.

Task-number: BAUHAUS-585
Reviewed-by: dt
2010-04-15 15:08:32 +02:00
dt
c51c16bf58 Fixes wrong state of rerun/stop application output buttons
For DebugRunControls.

Task-Nr: QTCREATORBUG-416
2010-04-14 17:32:14 +02:00
Friedemann Kleint
bbcacaf59f Header cleaning spree in Core/Debugger and Symbian/Maemo-code of Qt4. 2010-03-18 10:59:06 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Friedemann Kleint
28d72550d3 Removed static QIcon instances.
thus fixing the exit warning:
"~QX11PixmapData(): QPixmap objects must be destroyed..."

Acked-by: con
2010-02-10 10:47:34 +01:00