Commit Graph

1467 Commits

Author SHA1 Message Date
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
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
9b42244d01 Debugger: Fix QFile dumper with LLDB
Change-Id: If7f9463b6a13a40de9b7b669bece2204ac858edb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-17 15:25:53 +01:00
hjk
4dcb679e10 Debugger: Restrict the QDir version hack to 5.2.x
Change-Id: Ic5560524b2c317c6062d5eebc9b8b7e79b7e504e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-17 12:45:32 +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
hjk
44374dde75 Debugger: Also handle LLDB in compact map item display
Change-Id: I5a3f8915f2b6eb52e706d344b9e7998e1f96ab1f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 16:50:30 +01:00
hjk
c959fc5fd5 Debugger: Use Dumper.putPair in Q{Multi,}Map dumper
Change-Id: I4c9abdc1d14823b35a8cbf3b375acc4a45274193
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 15:20:34 +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
846ee38f2b Debugger: Add libc++ std::unordered_set dumper
Change-Id: I0799791b2baffa61092c01699a4128f01151b53c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 11:53:03 +01:00
hjk
fb0d8661d3 Debugger: More autotest tweaking
Change-Id: Ib823b0d9b6a0eeeaf5ec8b04b6f31fb07065a8cc
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 11:20:20 +01:00
hjk
f67fc91b4f Debugger: Show index in std::__1::unordered_map entries
Change-Id: Iaaf2ad9e46c88302d523b879558f65b4a86b0e2c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 19:16:17 +01:00
hjk
ef4e417b0c Debugger: Improve some libc++ dumper.
Change-Id: I18f2ad9e46c88302d523b879558f65b4a86b0e2c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 18:52:41 +01:00
hjk
e6b8f046e4 Debugger: Fix QDir dumper after QtBase change 9fc0965d19
Change-Id: Ibbef8ec7427e8b021c830de3a668bf82fe3511da
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 15:07:05 +01:00
hjk
df7d9eb8b6 Debugger: Add some convenience to display "paired" data
The switch between compact/full display was so far part of the
individual dumpers, there's some potential for code-reuse here.

Change-Id: I47e3308cfd2209948adbf70fca617908e793c0fc
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 15:06:53 +01:00
hjk
345221d738 Debugger: Add dumper for libc++'s std::unordered_map
Change-Id: I15bf32c1f77c17f42ee1da39f1353cff580fa6eb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-13 16:12:09 +01:00