Commit Graph

109 Commits

Author SHA1 Message Date
hjk
0abf12ae32 Debugger: Fix base type extraction with LLDB
Change-Id: I0370040879abf948be8594dec4bf267978329bbb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 15:11:32 +01:00
hjk
af43f684bd Debugger: Consolidate metaObject recognition
Same code can be used for LLDB and GDB...

Change-Id: I07aae10fec28f01425cc13285504f57aef3afd25
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 14:31:36 +01:00
hjk
72d1998824 Debugger: Implement "Create Full Backtrace" for LLDB
Task-number: QTCREATORBUG-11642
Change-Id: I92d7cde1e5021ab06ad72a00645184c41dae0e6b
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-11 16:56:23 +01:00
hjk
4202b94dbf Debugger: Let creator trigger the locals update also with LLDB
Makes the code path more similar to the GDB side and allows
skipping register refreshs when the view is invisible.

Change-Id: Ia9210ee1709dbc5c9c7a6870bf8a54484261fee0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-11 16:29:28 +01:00
hjk
b7ebfd274f Debugger: Move some common bridge code to dumper base
Change-Id: I9fd988c84bff5e02bc45478994f27a7bddb3358b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 13:14:13 +01:00
hjk
8931a14afe Debugger: Select topmost frame with usable data also with LLDB
Task-number: QTCREATORBUG-11597
Change-Id: I5d95c9172e90b82f5671427283cf46e924456c4c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-07 12:49:31 +01:00
hjk
1d1695c2b4 Debugger: Move breakpoint markers with LLDB
Task-number: QTCREATORBUG-11564
Change-Id: I98044c641ad68431176d8ef54e8e1ec1bef296bc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-06 10:44:20 +01:00
hjk
a8a9786b91 Debugger: Add Run-in-Console for LLDB
Task-number: QTCREATORBUG-9650
Change-Id: I74586ca8c89efedbb952218497f7acdae500d3b9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-03-05 16:03:55 +01:00
hjk
880a834b11 Debugger: Add start with step-into for LLDB
Task-number: QTCREATORBUG-11596

Change-Id: I4561d74524b70bc81345ab9beb60ec7242045509
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-28 13:33:49 +01:00
hjk
a19353674c Debugger: Stop process before manipulating breakpoints with LLDB
This seems to be a LLDB/Linux specific problem.

Task-number: QTCREATORBUG-11441
Change-Id: I390e17737a63f53dc1d1e2060ef87a3ad94fedf5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-11 10:44:54 +01:00
hjk
c7f80c2c00 Debugger: Fix reaction to unsupported types of breakpoint.
Task-number: QTCREATORBUG-11434

Change-Id: I5b295df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-11 10:05:20 +01:00
hjk
3e1ae6bf3a Debugger: Make 'Jump to Address' work with LLDB
Change-Id: Iba288df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-10 10:18:17 +01:00
hjk
f4d94df84a Debugger: Run to line for LLDB
And some error reporting.

Change-Id: Iab298df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-10 10:17:53 +01:00
hjk
f413ff0bc4 Debugger: Make LLDB main loop exception reporting more verbose
Include the full call stack.

Change-Id: Ib2a18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-06 16:18:31 +01:00
hjk
aef47d9011 Debugger: Move list of statics to subnode
Task-number: QTCREATORBUG-11401

Change-Id: Iafa18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-06 16:16:34 +01:00
hjk
282e688db2 Debugger: Fix "Jump to Line" for LLDB
Change-Id: I2fa58fd0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-06 14:32:46 +01:00
hjk
d963ad4167 Debugger: Work around wrong executable names
We currently don't always get proper executables from
the process list, and we don't need them for attaching.

Task-number: QTCREATORBUG-11295

Change-Id: I2fc18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-05 11:18:31 +01:00
hjk
b9834e4092 Debugger: Move special argv display to DumperBase and use for LLDB, too
Change-Id: Ie1913f5a5062d230e02a4f1738ca14bd6cebc55c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 17:02:38 +01:00
hjk
b7c7a82060 Debugger: Pass command line parameters with LLDB
Change-Id: Id25155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 15:49:12 +01:00
hjk
10f0044031 Debugger: Allow incremental expansion of large stacks
Task-number: QTCREATORBUG-11108

Change-Id: Id1a155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-03 14:12:58 +01:00
hjk
3e4cc08699 Debugger: Yet another way to extract metaobjects
FindFirstGlobalVariable seems to return bogus values.
EvaluateExpression might be more reliable.

Change-Id: Ic84155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 18:14:00 +01:00
hjk
b2874f3bb3 Debugger: Make some gdb dumper work for libc++
Better user experience on Mac.

Change-Id: Ice1455685e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 17:11:02 +01:00
hjk
5e5a7ca828 Debugger: Work on older LLDB.
Breakpoint setting and some data examination give now
results with 167.2. Communication is not working, only
one event is handled.

Change-Id: Ice40e568ee0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 14:50:36 +01:00
hjk
6dc03f7259 Debugger: Use a more robust fallback for SBValue.Dereference
Change-Id: Ie81899017c7e711ea8b04d85f8298b0d73f1cbab
(cherry picked from commit 88114aba3ef4ccf2d1597e9a21dd49efb8c86717)
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 18:40:15 +01:00
hjk
c6f4931624 Debugger: Search static meta objects recursively also with LLDB
Change-Id: I5e7eb59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:04:29 +01:00
hjk
d40ee224d4 Debugger: Handle extraction of data from temporary SBValue
Change-Id: I5d79b59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:01:43 +01:00
hjk
8cf01f81c1 Debugger: Object name display needs debug image on Mac
This should be avoided if possible...

Change-Id: I4c95ab4ab7f765ad42bf6bd35c6f790de5f03668
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 16:49:04 +01:00
hjk
ba93c22db1 Debugger: Filter out well-known static variables
Change-Id: I2c95ab4ab7f765ad42bf6bd35c6f790de5f03668
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-29 16:44:55 +01:00
hjk
ffb749acf7 Debugger: Avoid some warnings on LLDB bridge startup
Change-Id: I38454b7079e760ff363e92e2ec82542592b70e5b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 12:25:47 +01:00
hjk
392123388a Debugger: Some qobject dumper speedup
Slight change in behavior: Only classes with Q_OBJECT
macro are now recognized as QObjects.

Change-Id: If2df6c31ef6d098944e317e27dfcbc21d60f61ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 18:27:00 +01:00
hjk
cc3facd944 Debugger: Enable QObject property display with LLDB
Finally.

Change-Id: I3257ffbb23ca2ea4eec9a97335a95580c9c4482b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 17:36:27 +01:00
hjk
864e61d63f Debugger: Enable call result extraction also for LLDB
Change-Id: I8589e727c48cb3aa570f196dadde71706df01596
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 17:29:17 +01:00
hjk
2b9a00f172 Debugger: Streamline encoding handling
Replace base64 with hex encoding, centralize
conversions, drop dependency on binascii module.

Task-number: QTCREATORBUG-11317

Change-Id: Id3d419d4fe8f75710352f4bc0e6310be849426bd
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-23 16:50:08 +01:00
hjk
d8e132d15d Debugger: Disable item model dumper for LLDB
Needs better infrastructure.

Change-Id: I53a53953bd347c296626c03636775f6057faf385
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-22 16:37:35 +01:00
hjk
a1e7bae417 Debugger: More workarounds for LLDB child object address reports
Change-Id: I33ae39b3bd347c296626c03636775f6057faf385
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-22 14:46:40 +01:00
hjk
d6a2d0967f Debugger: Better QObject display with LLDB
Change-Id: Ide88fd07e077a158223a68cc504fff5a5b9391ac
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-21 18:20:43 +01:00
hjk
6cc660fa83 Debugger: Work on LLDB address calculations
Change-Id: Iea68df0e7077a185223a68cc504fff5a5b9391ac
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-21 18:20:22 +01:00
hjk
376f58df34 Debugger: Fix QObject/property dumper
Change-Id: Ied68fd07e077a185223a68cc504fff5a5b9391ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-20 17:08:53 +01:00
hjk
8b99e5532f Debugger: Add facility to run dumper test with DYLD_IMAGE_SUFFIX
Change-Id: I5f79436b61a3a04de9b7b669bece2204ac858edb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-17 17:16:17 +01:00
hjk
5c74244ecf Debugger: Try to find more types with LLDB
The actual problem is that LLDB considers types that differ
only in spacing of the "name" (i.e. "foo *" and "foo*") as
different and can not look them up with the "wrong" name.

Change-Id: Iff79436b6a13a40de9b7b669bece2204ac858edb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-17 15:26:18 +01:00
hjk
59a45ffa77 Debugger: Fix QThread autotest with LLDB
Change-Id: I90e93a15b8280a55c31db6be28fe6eb39c7babb0
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-17 12:39:14 +01:00
hjk
efe6e4668a Debugger: Filter out duplicate entries in LLDB frames
Task-number: QTCREATORBUG-11208

Change-Id: Iec79436b6a13a40de9b7b669bece2204ac858edb
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-16 11:11:29 +01:00
hjk
239dee6e9d Debugger: Add a backend specific Dumper.hasChildWithName
Change-Id: I89432915f2b6eb52e706d344b9e7998e1f96ab1f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 18:12:23 +01:00
Eike Ziller
851f255b9d Merge remote-tracking branch 'origin/3.0'
Conflicts:
	src/plugins/qmldesigner/components/formeditor/anchorindicatorgraphicsitem.cpp
	src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp
	src/plugins/qmlprofiler/qmlprofilertraceview.cpp

Change-Id: I778a0c2d0f1b4f799caaa2c2cc5daf94ec7ca352
2014-01-15 14:04:41 +01:00
hjk
4974e24615 Debugger: Move dumper enum constructions to backends
Different quirks on either side...

Change-Id: Ic8d0e66736beb109e9d76da62b73a4d0dd4f38db
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-10 20:04:40 +01:00
hjk
66aa30eb6b Debugger: More robust way to dereference lldb.SBValue
Change-Id: Id8f2ad9e46c88302d523b879558f65b4a86b0e2c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-10 18:14:00 +01:00
hjk
56da0aed68 Debugger: Fix pointer typedef display for LLDB on Linux
Change-Id: Idf84b17df0e8ef7796cc50af0b1111d0bde69293
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-09 18:05:27 +01:00
hjk
9c035bb670 Debugger: Handle namespaced Qt in LLDB dumper auto tests
Change-Id: Ib81b82d81dd821be7161eef6515ae1f08091d5e3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-09 17:44:08 +01:00
hjk
8b64e8599e Debugger: Make LLDB dumpers work for namespaced Qt
Change-Id: Ife3d65cc6617a07dffd43c8ef0f0a734b3f11331
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-09 13:30:48 +01:00
hjk
8ebb6aa9f6 Debugger: Extend use of Dumper.putPlotData
Make backend-agnostic and use it for QFiniteStack and
std::{array,vector}

Change-Id: I1702d4290ee24c957f77b539591313ac83021003
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-08 18:02:29 +01:00