Commit Graph

327 Commits

Author SHA1 Message Date
Kai Koehne
732334a0b8 QmlCppDebugger: Decouple states of engines
The main engine now follows mostly the state of the gdb engine,
only if a breakpoint is hit/while stepping the state of the qml
engine is used. This allows us to hit C++ breakpoints at any time
(also when the qml engine hasn't been able to connect yet), and
also fixes the invalid transition warnings.

Change-Id: If67a56fd28b098952be2606d0a46e04c27835f66
Reviewed-on: http://codereview.qt-project.org/5897
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-04 16:00:15 +02:00
Friedemann Kleint
f76da43b05 Debugger: Replace virtuals by capability flags.
Change-Id: If09efd21dc44e356eb575bb6170356fdbd409b39
Reviewed-on: http://codereview.qt.nokia.com/2625
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-08-04 14:35:18 +02:00
hjk
a4f23dc545 debugger: re-organize actions
Task-number: QTCREATORBUG-5660
Change-Id: I25516dc5cab8035e3d1be7025435f1a762d1ee3c
Reviewed-on: http://codereview.qt.nokia.com/2585
Reviewed-by: hjk <qthjk@ovi.com>
2011-08-03 19:05:28 +02:00
Kai Koehne
1757228278 New QTC_CHECK warning replacing QTC_ASSERT(x, /**/)
Warn if the condition fails, but otherwise don't change the execution
flow.

Change-Id: Id7b14c745109b66960add967b2a4ef8d31e1a546
Reviewed-on: http://codereview.qt.nokia.com/2389
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-07-29 12:19:11 +02:00
Friedemann Kleint
942d024bc6 ProjectExplorer: Fix enabling of buttons in the output pane.
Enable debug only if run control has a valid process handle.
Restore icon of rerun-button.

Take the concept of the ProcessHandle further (give it
descriptive string, add change signal to run control, clear it
when process stops to correctly enable debug).

No longer set ProcessHandle to debug run control as this would
allow attach a 2nd debugger to the process.

Reviewed-by: hjk

Change-Id: Iecf388e239fcd365864fe59177d76afac7484ecc
Reviewed-on: http://codereview.qt.nokia.com/1212
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-07-07 17:01:15 +02:00
Jarek Kobus
5418a137dd Fix original string messages
Change-Id: Icc7819585a8382a02b02a28f39dcea8ec1c6a7e6
Reviewed-on: http://codereview.qt.nokia.com/1142
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
2011-07-05 12:10:50 +02:00
Friedemann Kleint
53295db969 Debugger[CDB]: Display more context in disassembly.
Emulate gdb's behaviour trying to disassemble the function.

Task-number: QTCREATORBUG-5205
Change-Id: I2f4dc9393e12324b0423734c5235758a25395fec
Reviewed-on: http://codereview.qt.nokia.com/1029
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-04 10:25:43 +02:00
hjk
c041286753 debugger: split BreakpointIndex into plugin and debugger specific part
Change-Id: I21d10cf42eb039c74475e106537b6e107d155196
Reviewed-on: http://codereview.qt.nokia.com/745
Reviewed-by: hjk <qthjk@ovi.com>
2011-06-27 09:14:25 +02:00
con
52b2dd1578 Better name for enum value.
Change-Id: Ic89535081fca147727d12d77e1427d8240cde6d5
Reviewed-on: http://codereview.qt.nokia.com/713
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2011-06-24 16:04:34 +02:00
hjk
d647a6002e debugger: display "sub-breakpoints"
<MULTIPLE> happens in constructors, inline functions, and
at other places like 'foreach' lines.

Change-Id: Ifb89b659d279f257ba8295b80a35d605820ec54b
Reviewed-on: http://codereview.qt.nokia.com/498
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-06-20 11:34:22 +02:00
hjk
362aef67e0 debugger: don't crash when telling a dead runcontrol about a pid
Change-Id: I1cf33f3587de2e8e35a74a15aa797539f2f58014
Reviewed-on: http://codereview.qt.nokia.com/318
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-06-01 18:57:15 +02:00
hjk
b9580e3ccf debugger: let debugger attach to currently running process
Change-Id: I4aab1aa84a3dc9211d84d59be76005a8e841239e
(cherry picked from commit 55e399b524721e3561b6c7faae8aef84bf064565)
Reviewed-on: http://codereview.qt.nokia.com/251
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-05-31 13:34:40 +02:00
hjk
e8496ca33f debugger: work on watchpoints (or, "data breakpoints" as they are called now) 2011-05-10 15:58:11 +02:00
hjk
c620749b95 debugger: introduce watchpoint-by-expression 2011-05-09 09:04:55 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
con
1689a2cded Merge remote branch 'origin/2.2'
Conflicts:
	qtcreator.pri
2011-04-29 10:27:58 +02:00
con
9841050791 Fix disassembler view on Xcode4.
The gdb shipped with Xcode4 simply never returns if the command is
"disassemble /m someaddress", Xcode3 returned an error, which resulted
in a call for non-mixed disassembly. So we set the disassembler agent to
not try mixed in case of Mac tool chain abi.

Reviewed-by: Friedemann Kleint
2011-04-28 15:05:14 +02:00
Kai Koehne
216cb89bd7 QmlDebug: Fix 'Interrupt' functionality for mixed debugging
Make sure that m_inferiorPid is initialized even when the CppEngine
is not the main one, and therefore startDebugger() not called on it.
Otherwise the engine tries to send a SIGINT signal to an arbirary
process ID, resulting in the debugging being stopped.

Reviewed-by: Friedemann Kleint
Task-number: QTCREATORBUG-4716
2011-04-28 10:28:51 +02:00
Friedemann Kleint
5a75276fa0 Debugger: Use base class PID mechanism in CDB.
Fix base engine to raise app only in applicable modes.
2011-04-28 10:02:34 +02:00
con
14487af86c Merge remote branch 'origin/2.2'
Conflicts:
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/projectexplorer/target.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
2011-04-27 11:27:29 +02:00
Friedemann Kleint
1ae9679c40 Debugger: Separate internal constants. 2011-04-21 15:52:51 +02:00
hjk
5645018b15 debugger: remove custom dumper location settings
Reviewed-by: con
2011-04-21 14:40:28 +02:00
hjk
8afd8b8614 debugger: deactivate thread window operations during stepping 2011-04-19 12:35:02 +02:00
Friedemann Kleint
ed30a3f724 Debugger: Use bin editor widget for standalone-memory views.
Remove MemoryViewWidget/RegisterMemoryViewWidget
in favour of MemoryView/RegisterMemoryView based on the bin
editor widget.
2011-04-19 12:19:23 +02:00
Christiaan Janssen
42048fa2a0 QmlDebugger: fixed shutdown combined engine
Task-number: QTCREATORBUG-4451

Reviewed-by: Kai Koehne
2011-04-18 17:01:37 +02:00
Oswald Buddenhagen
dc3c156cac Merge branch '2.2'
Conflicts:
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
	src/plugins/qt4projectmanager/qt4target.cpp
	src/plugins/qt4projectmanager/qt4target.h
	src/plugins/qt4projectmanager/qtoptionspage.h
	src/plugins/qt4projectmanager/qtversionmanager.cpp
	src/plugins/welcome/welcomemode.cpp
2011-04-14 12:39:31 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Friedemann Kleint
f3cc061dbe Debugger: Add memory views.
Add a separate memory view tool window available
from the context menus of:

Locals view:
   If the debugger provides size information, colors the
   areas of member variables for inspecting class layouts.

Registers view:
   Tracks the area pointed to by a register.

The view has a context menu allowing to open subviews
referenced by the pointer at the location using
the toolchain abi's word with/endianness.

Rubber-stamped-by: hjk
2011-04-08 16:22:56 +02:00
con
3de823ca62 Merge remote branch 'origin/2.2'
Conflicts:
	qtcreator.pri
	src/plugins/projectexplorer/toolchainmanager.cpp
2011-03-28 11:40:45 +02:00
Christiaan Janssen
7100d29f66 QmlDebugger: user input on watches
Reviewed-by: hjk
2011-03-24 13:21:30 +01:00
Oswald Buddenhagen
4e2937bf48 Merge remote-tracking branch 'origin/2.2'
Conflicts:
	src/plugins/debugger/debuggersourcepathmappingwidget.cpp
2011-03-23 14:42:31 +01:00
hjk
74914f4753 debugger: fix spelling in irrelevant message 2011-03-22 17:03:07 +01:00
dt
4f278cbfed Merge remote branch 'origin/2.2'
Conflicts:
	src/plugins/debugger/disassembleragent.cpp
2011-03-21 17:48:19 +01:00
hjk
a18d0572bd texteditor: simplify basetextmark architecture
ITextMark is not abstract anymore and has an icon and a priority.
This means separate breakpoint and location marker classes that
are only "plain" marks with icons and priorities are not needed.

BaseTextMark directly inherits from ITextMark, instead of owning
an ITextMark derived InternalMark.

Also, there is now ITextMark::paint() to make it a bit more flexible
then icon()[->paint()]
2011-03-21 17:15:02 +01:00
hjk
7198b1ea8b debugger: fix vanishing location mark in disassembler mode
Task-number: QTCREATORBUG-4157
2011-03-18 18:34:02 +01:00
hjk
1b1896b38b texteditor: give priorities to mark to ensure z-order when drawing 2011-03-02 18:43:26 +01:00
hjk
f125b57163 debugger: work on writable memory view 2011-02-25 14:30:38 +01:00
hjk
66896e1908 debugger: more verbose status message on sigsegv even if messagebox was disabled 2011-02-23 11:28:20 +01:00
hjk
5f38a26c9e debugger: fix 'Jump To/Run to' when in instruction-wise mode 2011-02-23 11:11:39 +01:00
hjk
cd18b3ce03 debugger: add a 'Debugger finished' statusbar message 2011-02-23 10:17:21 +01:00
Tobias Hunger
8d0c477245 ToolChain: Refactor toolchain support
Refactor ToolChains in Qt Creator:

 * Allow for several toolchains of the same type
 * Be smarter wrt. guessing what kind of output a toolchain
   produces. This allows us to eventually handle e.g. embedded
   linux setups way better than before.
 * Be smarter wrt. guessing what kind of environment a Qt version
   needs.
 * Improve auto-detection of toolchains a bit
 * Decide on which debugger to use based on the kind of output
   produced by the compiler.
 * Add options page to configure toolchains
 * Remove toolchain related options from the Qt version dialog

Reviewed-by: dt
2011-02-21 18:33:23 +01:00
Friedemann Kleint
c74da9b7c5 Debugger: Reduce tooltip flicker.
Move tooltip-request handling from DebuggerPlugin into
DebuggerToolTipManager.

Request tooltip only if position changed and close
standard tooltip on success.
2011-02-17 10:11:23 +01:00
hjk
0b662609a0 debugger: replace action(ExecuteCommand) be a direct function call 2011-02-16 13:07:16 +01:00
hjk
cfbf853dae debugger: InferiorUnrunnable is an acceptable state at exitDebugger() time 2011-02-15 12:04:12 +01:00
Friedemann Kleint
0ac879e39f Debugger: Make tooltips pinnable.
Replace old debugger tooltip by a new ToolTipManager which
has a list of AbstractDebuggerToolTipWidget with the functionality
to 'acquire' an engine (display its data) and 'release' it
(store engine data and display them as 'previous') and serialization
to XML session data.
DebuggerTreeViewToolTipWidget implements AbstractDebuggerToolTipWidget
for tree model acting as  a filter on watch models.

Rubber-stamped-by: hjk
2011-02-11 15:09:02 +01:00
hjk
d8763dca59 debugger: prevent crash 2011-02-10 13:44:40 +01:00
Christiaan Janssen
2c5d94c3c9 QmlCppDebugger: adjusted state changes when one engine fails
reviewed-by: hjk
2011-02-02 12:31:40 +01:00
hjk
49710f3986 debugger: show combined C++/QML stack 2011-01-19 17:34:47 +01:00
hjk
c736cc3c8d debugger: use 'maint print msymbols' to extract Qt's namespace
still racy
2011-01-19 14:07:51 +01:00
hjk
8a9debda94 debugger: fix crash on exit 2011-01-18 09:47:17 +01:00