Commit Graph

933 Commits

Author SHA1 Message Date
hjk
4ee7bdc562 Debugger: Some cleanup in gdbbridge
Change-Id: Iecea0ee1d66cff3a4dbe2c9605babb2e49d0c93a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-25 17:46:48 +01:00
hjk
7e5d67025c Debugger: Remove some workarounds for older GDB versions
... and the Python magic needed. This also helps to remove
module dependencies that break current QNX setups.

Change-Id: I6554cf0f344b4c3788681389f2c972e49c9851b6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Cristian Adam <cristian.adam@here.com>
Reviewed-by: Martin Boháček <mbohacek@blackberry.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-21 13:33:21 +01:00
hjk
bfbb7513f2 Debugger: Fix Qt 4 QVector dumper with LLDB
Change-Id: I2b5ab838558b2e1b3a0c13fafcc37efebb014c19
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-19 10:33:23 +01:00
hjk
cd35d16983 Debugger: Also display dynamic QObject properties
Also, don't pre-compute the property count for performance
reasons. This leaves us with not too much information before
actually expanding the note, but better than waiting a
minute before seeing anything from a qwidget or such.

Change-Id: Ia39a01ec053ca821bb6cc76f09b3e836fa0d1b03
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-13 11:33:46 +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
871a4bcad3 Debugger: Re-structure version check in QDir dumper
Change-Id: Ic14155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-03 07:56:57 +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
357598059d Debugger: Consolidate ways to dereference in dumpers
Change-Id: I513123a1b5564ff2beee13b5d0264f1fa8fc698e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:17:40 +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
c55ac5fb6f Debugger: Use more robust way to extract Qt version.
Also bump the fallback guess to Qt 5.3.

Change-Id: I8e9be14a34cdf6c6330de123cbed7243e0df968a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 13:08:58 +01:00
hjk
a9834fe11a Debugger: Finetuning of QVariant dumper
LLDB doesn't like to lookup types in some cases.
Make it work.

Change-Id: I2c95ab4ab7f765ad42bf6bd35c6f790de5fe366e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 17:31:32 +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
d37e890a1d Debugger: Show name also for QObject subclasses without Q_OBJECT macro
Change-Id: Ifabf3cc68751a06c15fc1a5a05cad5e5a64c8775
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 13:56:01 +01:00
hjk
ea8107339f Debugger: Fix long standing regression of property display with Qt 4
Change-Id: Ic4ed92a00d2084b63f79da764377ccde42475ac6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 13:55:02 +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
3bb1d048cb Debugger: More robust inferior calls on temporary values
Change-Id: Ie93cbf772bbda40d2aa085064cf9ce7fe208e591
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 10:53:11 +01:00
hjk
445735bedf Debugger: Fix display of QVariant(QString) inferior call returns
Some versions of GDB seem to be touchy when it comes to casting,
even if the memory contents is the same.

Change-Id: I9733863c20d3726397623fa593063aec0095e774
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-28 22:17:32 +01:00
hjk
9ed664c8f9 Debugger: Fix QVariant indirect access with LLDB
We need explicit toInteger() when operation on SBValues.

Change-Id: Ibc74b59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-28 14:09:19 +01:00
hjk
f3fbc36d77 Debugger: Handle Qt4/5 behavior incompatibility in QVariant handler
Change-Id: I059955b24daa323d4f0a85e67650ee29c018d1b6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-27 14:16:47 +01:00
hjk
d1e11de701 Debugger: Simplify QVariant dumper
Change-Id: I107ee6ccbca3a588c05647a4158affc8aa307c70
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-27 12:12:02 +01:00
hjk
717e384bb5 Debugger: Handle $xmm0 etc in watchers
Change-Id: Ic2d2bd88da6b773b72518d6058c3be2ca389d73a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-25 22:32:28 +01:00
hjk
51b743a2d1 Debugger: Some dumper robustification
Change-Id: Id0af97ed54dd936a68696e66c3fcf4dcbf2645e8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-25 15:39:37 +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
2e7479aef0 Debugger: Add data extraction for dumper inferior call results.
Change-Id: I868be727c48cb3aa570f196dadde71706df01596
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 16:46:51 +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
8cb5f1547d Debugger: Prefer hex values for pointers in transport
Doesn't change the result, but makes debugging the
protocol easier.

Change-Id: I8fae79bfbd647c296626c03636775f6057faf385
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-22 14:04:10 +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
20ea8a7d67 Debugger: Fix buglets in QVariant dumpers
Change-Id: I3ac3906600369b51f6fc9f6430f95f21e0ac3e3b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-21 18:20:13 +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