Commit Graph

289 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
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
Fawzi Mohamed
323a0c6291 ios: speed up device debugging
Correctly use the device specific cached symbols to avoid downloading
them from the device (big slowdown).

Task-number: QTCREATORBUG-10884
Change-Id: Ic82482e4b1dadf55f695a67fd420ac1b095a3ca1
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-08 13:42:43 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
David Schulz
6de1958af2 Debugger: Use more direct breakpoint setting in dumper auto test
Change-Id: Ibb24ded55ba02b908b63d71f1f872c73ee7b011b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-01-07 13:48:04 +01:00
Eike Ziller
74cc163a06 LLDB: Fix display of bases with multiple inheritance.
It was only showing the "last" one because the inames were the same
(currentIName.None).
Do not overwrite iname of sub item in 'enterSubItem' if it already was
set.

Task-number: QTCREATORBUG-11109
Change-Id: I74581f62d47ff0c33650769c3ed66e24124d1092
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-17 13:56:12 +01:00
Eike Ziller
87e2e5b977 LLDB: Autoselect thread that was stopped in
The integration was only doing that for breakpoints, but not for
stepping etc.

Task-number: QTCREATORBUG-10813
Change-Id: I4be7ec691e839bf062ab67587062cba00cc85e4f
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-02 12:53:45 +01:00
Fawzi Mohamed
7458a8235a ios: do not stop in debugger when debuggings an app
the attached process is seen as still running just after the attach
and continuing fails, immediately later a spontaneous stop is
detected and on ios (where we set continueAfterAttach) we
continue after the spontanous stop.
This also work in the desktop case.

Change-Id: I92fbcd3ba319da7d9e664f67c8cbbea00f0daa43
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-21 16:42:02 +01:00
Eike Ziller
0d724e40a0 LLDB: application always got at least one argument passed
Even if it was an empty argument.

Change-Id: I610c4cea82bdbc557e63acd1663040ca70a5d3ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-15 11:39:49 +01:00
hjk
e5a65d58bf Debugger: Handle startup problems more gracefully
Task-number: QTCREATORBUG-10598
Change-Id: Ia22b46da87b43c807acc11747294609d88c0e183
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-11 16:18:15 +01:00
hjk
976e849740 Debugger: Fix report of current thread from LLDB
Task-number: QTCREATORBUG-10730
Change-Id: Iab7b46da87b43c807acc11747294609d88c0e183
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-11 15:32:13 +01:00
hjk
d7b8b291a9 Debugger: Handle tooltip data in LLDB backend
Task-number: QTCREATORBUG-10690
Change-Id: I5deecfed4c525fd6c3cd75f510e7662e469f99ea
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 17:18:46 +01:00
hjk
ab388457e6 Debugger: Restrict LLDB register reporting by view visibility
Change-Id: Iaf92f565f9b33f5739bb3e0a19920f160c0b44f7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 17:18:24 +01:00
hjk
fea08ef453 Debugger: Catch empty names for LLDB values
Right now its unclear under which circumstances this can
happen, but we should better not abort debugging in such
cases.

Change-Id: Icc3faf304869e6fe13344137c91b0f046edc4a6a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 18:15:01 +01:00
hjk
8562dc0904 Debugger: Simplify pointer arithmetic in LLDB dumper
Change-Id: I1b8396014256afc3845ccdae6e740bbf6059bbf3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:51:08 +01:00
hjk
5be208bc03 Debugger: Move more common GDB and LLDB dumper code to base
Change-Id: I798396014256afc3845ccdae6e740bbf6059bbf3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:46:10 +01:00
hjk
cc80da536d Debugger: Move basic C-style array handling to dumper base class
Just cosmetics. Function was oddly named, in an odd place.

Change-Id: I8bfb33f7f41f01309f4b2be8a802d4093ae25e41
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:46:01 +01:00
hjk
a9db8d9318 Debugger: Consolidate pointer display
Pretty much the same code for GDB and LLDB, no reason to duplicate.

Change-Id: I4df4ba55e3b6bdfb6422179050f9a31bd1ebe082
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-07 11:11:58 +01:00
hjk
c1cddebe8d Debugger: Always report registers with LLDB
Change-Id: I71cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-06 17:11:03 +01:00
hjk
57c098142c Debugger: Make stack accesses more robust in lldbbridge
Change-Id: I13cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 15:33:32 +01:00
hjk
6f10a1cb23 Debugger: Make Watchers work with LLDB
Change-Id: Ie39a38c6646c3c19819e2c122d7f8be285eae09e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 14:25:58 +01:00
hjk
a57ab5d44e Debugger: Distinguish stdout and stderr in LLDB
At least theoretically, on our side. Practically the output
seems to arrive all with ldb.SBProcess.eBroadcastBitSTDOUT
from LLDB.

Change-Id: I61cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-05 12:52:23 +01:00