Commit Graph

383 Commits

Author SHA1 Message Date
David Schulz
be8290eefb Cdb: Simplify storing split cdb replies.
Change-Id: Ia50b9255c0da70b8c473349ab2a6b6f3d88e01ed
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-28 10:54:34 +00:00
David Schulz
0aa4339353 Cdb: Remove the command from the response.
It was just used for diagnostic messages. The commands
can still be identified via the token in the messages.

Change-Id: If1c6f9e66bd65d9d3a16cb403d297c83b0c52d0e
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-27 08:12:27 +00:00
David Schulz
9e800bc0af Cdb: Pass the breakpoint id to the command handler.
This way the id doesn't have to be parsed from the command.

Change-Id: I8beb15c6d98a6628f373cf44b724dd4267efb728
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-27 08:12:22 +00:00
David Schulz
6633bc9927 Cdb: Remove command sequences.
Simplify the CdbResponse to become more like the DebuggerResponse.

Change-Id: Ifdd7c69e340b4c18c0e1187eb2173979feccd5b9
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-27 08:12:15 +00:00
David Schulz
66df65b2dd Cdb: Unify the cdb builtin and extension command reply.
Change-Id: Icaee4aee4fbb22b2a55f64cc43effdaebbe63a55
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-25 11:27:35 +00:00
David Schulz
d26fe608de Cdb: Unify posting commands to the cdb process.
Change-Id: I8e3bd400efa6fd12fd098a53d9e991aea658a743
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-25 11:27:31 +00:00
David Schulz
90b0d561b6 Cdb: Remove unused CdbCommand member.
Change-Id: I716cd00b47b8ae52d497817f0849f608222bfd33
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-25 11:27:26 +00:00
David Schulz
c02d9c9253 Cdb: Print output of user commands to the debugger log.
Change-Id: I48a1beb6c47758dafa3629c8c8b770417b823a4e
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-25 11:27:19 +00:00
David Schulz
56a46bbcda Cdb: Print out user debugger commands to the log.
This also removes the need for a command flag.

Change-Id: I6ad8a2c5d49673783cf06a2612c33e0cd5555706
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-08-25 11:27:15 +00:00
hjk
d48ac14fba Debugger: Simplify removal of outdated L&E items
This removes the need of bookkeeping on the engine side. It's
basically a kind of mark-and-sweep: On update begin mark items
that are expected to change as outdated, while data arrives, undo
that marking, and update end remove all remaining marked items.

Change-Id: I739b84869033d511d5c9a80605c079e87ef4f6a7
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-07-07 08:08:08 +00:00
David Schulz
b1d6ab754a Cdb: Inform the engine about an inferior exit.
Task-number: QTCREATORBUG-14652
Change-Id: I67e450bad1873e0fd68f6ae11ea29f227dd5682f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-07 07:17:26 +00:00
David Schulz
abf2a634a0 Cdb: Remove the symbol path dialog popup.
When setting up a symbol server path, the debugger startup could
increase to an unacceptable amount of time. So this is an attempt to
hide this feature for the standard user, but still keep it accessible
for everyone else.

Change-Id: I719f3091fe483f446488c75001e29278e1b405ea
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-06 12:32:04 +00:00
David Schulz
33c2365392 CDB: Don't show status messages for set thread name exceptions.
Change-Id: Id80086990a456ba9bf6d5b86097f95f2197d0971
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-02 11:24:45 +00:00
David Schulz
2659e505e6 CDB: Add status messages for loaded modules.
Change-Id: I7fc676f938f69ecc8d228a0d3509da6e7e3e0b1a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-02 10:55:13 +00:00
hjk
6af260205a Debugger: Mark two strings in the CdbEngine translatable
... after some re-wording.

Change-Id: Ibc8f0c58b56689c3f1af863db3c796db07bf3670
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-26 09:09:51 +00:00
hjk
60a8442d8c Debugger: Rework start parameter completion.
It's again a linear process now, with explicit entrance point for
all users.

Task-number: QTCREATORBUG-14618
Change-Id: I96c08947270ce34d7bc6c8be1d7f350dbfa14794
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-25 12:13:35 +00:00
David Schulz
79251408ea CDB: Fix expanding watchers.
Discard old watchers only when entering a new frame.

Change-Id: I4a0ac6af7c6970f7a0d4c58636bf9f51ecab9505
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-24 13:37:36 +00:00
David Schulz
3b7410f8dd CDB: Stop locals progress indicator when command failed.
Change-Id: I37d986c249f2706a474c7d517090d98e7bd19f22
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-24 12:12:23 +00:00
David Schulz
e670d9f341 CDB: Print non extension output when verbose log is enabled.
Change-Id: I0fb308794220d08be43b81ed2d56fd558411e650
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-24 12:07:28 +00:00
Eike Ziller
4dd95aa5d4 Merge remote-tracking branch 'origin/3.4'
Change-Id: Id13cbdf2f7047366e543c91fbe7c21a9c4759e56
2015-06-17 12:04:21 +02:00
hjk
d769efe1e2 Debugger: Move watchHandler()->notifyUpdateStarted() to doUpdateLocals
This was it also gets triggered when expanding tooltips.

Change-Id: I90ad39e9e82abdcd40e663b4ba4998205563009b
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-17 06:31:53 +00:00
David Schulz
2ce11e0b5a Cdb: Unify local and watch handling.
Change-Id: Ic997136cc3b67b9f146e56d0b3ee2cb3140b6b10
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-15 12:58:28 +00:00
Joerg Bornemann
f0467f8b01 support Visual Studio 2015
Task-number: QTBUG-46344
Change-Id: I49c3e2776e65cc83d40d1f5ab3be1365d17242d1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-06-15 11:53:37 +00:00
David Schulz
ec83581d16 Cdb: Update locals via doUpdateLocals form DebuggerEngine.
Change-Id: I2178e4d787a4d6811bbe5c6baddd23013954e53f
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-11 13:00:16 +00:00
hjk
277495e8cb Debugger: Remove the boolean parameter to CdbEngine::updateLocals()
Makes clang happy, and changes to a full update after manual
variable assignments, which is intended anyway.

Change-Id: I028f32e1ac9014f5d56bf12824624f7685d22c83
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-11 09:28:51 +00:00
hjk
5309e217e4 Debugger: Consolidate GDB and LLDB "updateLocals" code paths
This splits the bool setToolTipExpression() operation into
a bool canHandleToolTip(), and the actual processing of
the request, which is mostly identical to the handling of
a watcher.

Handling a watcher is now mostly the same as a full Locals
update, except for the 'partial' flag. Pushing the handling
of that down to the bridges gives identical code paths
in the gdb and lldbengine. Move that to the
DebuggerEngine base class.

Change-Id: I3861b43e8630c7e7bd57fcd549b2a2387e3d4869
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-10 07:40:27 +00:00
hjk
ad51a43c73 Debugger: More Debugger{Start,Run}Parameter separation
Fixes also the recent regression due to slicing when attaching
to a running application.

Change-Id: I6a7712811d6820b0c57658db10c5ff9790b4a338
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-09 08:16:56 +00:00
David Schulz
20d5c1a826 Cdbext: Add option to return alphabetically sorted locals.
Change-Id: Ida0e8aec41bade10ad1e3ac517812a3a8c120473
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-05 06:16:51 +00:00
hjk
244cdb7804 Debugger: Split off runtime-only items from DebuggerStartParameters
Right now, DebuggerStartParameter is part of the debugger plugin
external interface. Better not make it fatter than necessary.

Change-Id: I3b9205089f971dd314ccba1335b5ca2d4d9fe7c6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-05-28 08:54:48 +00:00
David Schulz
8c1579bf64 Debugger: Use unified locals update in the cdbengine.
Change-Id: I94c8bd554e9e5ee157fd2bc80d3889558d08a8f0
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-05-22 05:53:15 +00:00
Eike Ziller
4058ff6fe9 Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/libs/extensionsystem/pluginview.cpp

Change-Id: I410156c1003d5dc81e915110c6d432bcd71da010
2015-05-07 14:42:46 +02:00
David Schulz
e4e9983622 CDB: Unify handling of stopped debugger process.
Task-number: QTCREATORBUG-14344
Change-Id: Id05b16e649d39e354e6fda9ede9aa44984f3f429
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-28 07:00:52 +00:00
David Schulz
f5ba484fbe Debugger: Fix Step into for unreachable frame source.
Hitting a frame without source code information when stepping inside
functions results in a step out. Same is now applied to frames with
unreachable source code.

Task-number: QTCREATORBUG-9677
Change-Id: If7f7b417d98e8ab058fc98cef3041cb616579619
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-27 08:04:30 +00:00
hjk
2b19081cb0 TreeModel: More API cleanup
- introduce topLevelItemCount (similar to QTreeWidget)
- squash untypedTreeLevelItems()
- rename removeItems() to clear()
- rename removeItem() to takeItem()
- rename treeLevelItems<> to itemsAtLevel<>

Change-Id: I0f1bb4110f7687b20da3d92e3d943858645a9fa2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-22 13:48:18 +00:00
hjk
48ac7c186b Debugger: Re-organize passing of display formats
The current setup (dumper->gui: list of descriptions,
gui->dumper: index in list) is fragile and not easily
i18n'able. Go with an enum based approach now.

Change-Id: Ie78c596065a8b2ba87ad725274da29d4be3a6da4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-23 14:12:43 +00:00
hjk
d26a49d43c Debugger: Convert some connections to Qt 5 style
Change-Id: I7f879f373ce460459318302a13fa83814c69310d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-20 10:44:27 +00:00
hjk
b3f88df41d Debugger: Remove most remaining occurrences of WatchData
... in WatchHandler and DebuggerEngine interface.
Adjust using code.

Change-Id: I6371f3e96ba46a783e23a5767cdde24a10d3fce7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-20 08:36:57 +00:00
hjk
9851484b31 Debugger: Remove new watch window timer from public interface
Change-Id: Ic9d3df22d917e5644d6302a6af06aa8eadea8b5a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-17 14:44:08 +00:00
David Schulz
40dd248178 Debugger: Show progress indicator while updating locals.
Change-Id: I4b26cbe71f5936f367f9add2b3a6c812446835d8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-16 10:10:05 +00:00
David Schulz
9c5a56a38b Cdb: Reduce usage of deprecated WatchData.
Change-Id: Ie3d3355e51761cea7e0284bbb3e0177d5a443f36
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-13 09:01:15 +00:00
Eike Ziller
1eeca66c29 Get rid of Gitorious links
That service is discontinued, and we have our own mirror anyhow.

Change-Id: I8a45401e2c0c889d87c675a79ae16684d7c69a7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-10 13:50:48 +00:00
hjk
31b2ac85f4 Debugger: Split CdbCommand into CdbCommand and CdbResponse
Move it closer to the GDB/LLDB setup.

Change-Id: Ifcada93ba9abff56c5523963c3ef9382277387e2
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-03-10 09:30:15 +00:00
hjk
a37e30eb23 Debugger: Remove unused struct ConditionalBreakPointCookie
Change-Id: Ib2eeba127780a80953dc128f844fda7a48b1dd0b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-10 07:10:24 +00:00
hjk
159f4e4f39 Debugger: Replace LocalsUpdateForNewFrame enum value by a bool
Change-Id: I4e7f6ec14a4c40a7d402e6a57f1b14fc37651747
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-09 15:17:56 +00:00
hjk
3f79ae203f Debugger: Start disentangling WatchHandler::insertData
Rename the list overload. Make the single item overload use
the direct path to insertItem, hook the column resize requests
to the showing/hiding of the watchers pane.

Change-Id: I0a1940c8e1919341a815e6bccbcf55d989d663da
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:59:42 +00:00
hjk
46fcfa9018 Debugger: Remove widget argument from tooltip request
The only information ever used is whether it's c++ or not.

Change-Id: I4ca00663856dd66cbdf58c468f175a8c9e41d6a5
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:57:53 +00:00
hjk
34c807a11a Debugger: Remove WatchUpdateFlags
Only needed in the non-Python days. CDB didn't use it to start with.

Change-Id: Ia609218cc1a694f797e278c4d99ead68e6212938
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:55:55 +00:00
David Schulz
36fe342853 Cdb: Reduce insertIncompleteData usage.
Change-Id: Ia71d32c40bbe4737061d021c37844a1fd84b9657
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 09:28:30 +00:00
hjk
a21afdd2a0 Debugger: State machine cosmetics
Remove one unused notification, rename notifyInferiorUnrunnable.

Change-Id: I585d3a8606585fbdd8ad48e5eeecf629542bd93c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-27 07:36:46 +00:00
hjk
623de07ab9 Debugger: Streamline GdbMi structure interface
Change-Id: If9c4d1ae8b05a5dae7d6a1a7534e49d1966dd493
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-26 08:53:47 +00:00