Commit Graph

60 Commits

Author SHA1 Message Date
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
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
hjk
53e8991600 Debugger: Remove unused code
Change-Id: I139a38c6646c3c19819e2c122d7f8be285eae09e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-05 12:37:10 +01:00
Eike Ziller
287da2627d dumpers: enable backtraces for tests
Change-Id: I80bfb459c20e92fb0ea4e938421015a09f1c8518
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-05 12:35:21 +01:00
Eike Ziller
d06fb9cf47 LLDB: remove unused method and variable
Change-Id: I4195ad4bf5af3e912f49411acb4bc3a6ec4df33b
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-04 17:50:29 +01:00
Fawzi Mohamed
345eb5b0a5 lldb/ios: add platform specification
Change-Id: Ie7867dce5bd50573d714d41bf46195a802eb61c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-04 12:50:11 +01:00
hjk
8e37b24279 Debugger: Disable LLDB's own visualizers.
Stop-gap measure until we can properly co-exist.

Change-Id: Ia6699eb7261e480587f6a21d54fb6b6107669b8f
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 14:25:23 +01:00
hjk
a8dece0b99 Debugger: Move some generic helper function to base dumper
Change-Id: I78dea9af7d397d49ce2b54086d275413f2477626
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 14:25:11 +01:00
hjk
909991164d Debugger: Re-introduce the '@\n' separator in LLDB communication
More robust.

Change-Id: Icc3c05d5ed7bcf35f38ba695b42a9716d00e8188
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-01 12:35:44 +01:00
Eike Ziller
fc6386be80 LLDB: Fix local debugging after b39f26e856
Change-Id: I6ba4a6daa0b4bc0132a447bdc938ce19a95903e3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 11:33:32 +01:00
Fawzi Mohamed
ac17b73c20 lldb: allow lldbbridge.py to be directly imported in python
Change-Id: Ib0bcb4dd708e89cebe12407a3f8e375c79664a74
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-01 10:09:51 +01:00
Fawzi Mohamed
b39f26e856 ios: device debugging
switched to using a relay server

Change-Id: Ic3ddb48b818fa43894314f7fbaf9d7780fc01ade
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-31 18:19:09 +01:00
Eike Ziller
ddee9bdf56 LLDB: Fix shadowed variable support
SBValue has no 'name'

Change-Id: I670ed0f5e1deed70d96cc1944f6f9b0cda49e0c1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 16:06:13 +01:00
Eike Ziller
0cae053d11 LLDB: avoid python backtraces destroying all data
Change-Id: I1ea7ccad208c00d11e0579de219739cbabab8455
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 09:40:12 +01:00
Eike Ziller
b620716342 LLDB: Fix command reading loop
It could entirely miss commands sent by the engine.
The loop was waiting for something to come into stdin, but always only
read a single line from it, although it possibly already contained
multiple lines.
The patch simplifies the loop by removing the select() call entirely
and solely using sys.stdin.readline() which blocks anyhow.

Change-Id: Iff12aa051bb6e11c5ba30081d7c9d4e98940e231
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-30 18:04:13 +01:00
hjk
e176013140 Debugger: Move some global variables to the Dumper class
Change-Id: I5c8fd8a48f27ac70e6e39f645d64dcd788752e73
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-30 17:22:14 +01:00
hjk
b42a1b5918 Debugger: Enable exception hiding with LLDB
Closer to "production behaviour"

Change-Id: Id72a667cdc44c5102b574db30b6e806ab1deba83
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-29 14:25:11 +01:00
Fawzi Mohamed
c162ba1391 ios simulator debugging
Change-Id: Ieee4a509b46da937c3bce21f72c77685946db4dd
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-29 14:03:58 +01:00
Eike Ziller
bc16e88288 dumpers: share the code for extractTemplateArgument
Change-Id: Ic1b03d2dffdfb7ba6ead191601127b54af38b3cd
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-29 12:25:26 +01:00
Eike Ziller
c6faedf1c7 debugger: generalize is32bit() through ptrSize()
That also makes lldb dumper actually test for bitness instead of
assuming 64bit

Change-Id: I6207bac04817e1f4700247dc00d2dfdace1e5100
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-28 11:27:47 +01:00
hjk
0190eb59f9 Debugger: Show shadowed variables with LLDB
Change-Id: If93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-25 16:12:03 +02:00
hjk
7f5366796c Debugger: Fix display of vector extensions with LLDB
Like char __attribute__ ((vector_size (8))) ...

Change-Id: Ie93547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 18:49:27 +02:00
hjk
0b8f3c3e9d Debugger: Continue LLDB event loop after exceptions
Change-Id: I4d3547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 15:29:44 +02:00
hjk
cd3c084df3 Debugger: Improve QSharedPointer dumper
Make it work with LLDB, show simple values always directly.

Change-Id: I463ef81183792f85243d679dee69a41db00bed07
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 15:16:05 +02:00
hjk
fc4a953bb5 Debugger: Simplify LLDB communication protocol
Produce proper JSON directly.

Change-Id: I61aaba021fd4893fb521251c9b4b9572c2beef44
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 12:26:17 +02:00
hjk
e94e403052 Debugger: Fix QList<QStringList> dumper for LLDB
QStringList is movable in Qt 5

Change-Id: I5b0bee9c55e54f62c93a8515af0f56cdafed78bf
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 16:34:09 +02:00
hjk
04eaf6cdfc Debugger: Make function pointers visible with LLDB
Change-Id: I230bee9c55e54f62c93a8515af0f56cdafed78bf
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 15:21:18 +02:00
hjk
de40fff331 Debugger: Silence some debug output
Change-Id: I80cd68574586fdaf463d59b6f4dfb9149a120089
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 12:59:24 +02:00
hjk
07492890f7 Debugger: Add a parseAndEval implementation to the LLDB bridge
Makes e.g. QVariant5 dumper pass

Change-Id: I8fad68574586fdaf463d59b6f4dfb9149a120089
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 12:58:38 +02:00
hjk
ad7e12447c Debugger: Add 64 bit int extraction for LLDB
Fixes QDateTime dumper

Change-Id: I1c408e30ee0cdc22610e3037f94de5f7d246accf
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 12:31:47 +02:00
hjk
bdf8655376 Debugger: Make LLDB auto test start again
Change-Id: I11358adc8c01dd1261627f35d0f35500e8b34989
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-22 12:46:25 +02:00