Commit Graph

49 Commits

Author SHA1 Message Date
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
Eike Ziller
515a958083 Fix Qt5 QUrl dumper
Change-Id: I5da72aebe30a3f7030b44566561fca25ce867c0a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 10:47:21 +02:00
Eike Ziller
d33f7fd2c7 LLDB: Implement qtVersion() for dumpers
Reads the version from Qt Core instead of just assuming Qt 5

Task-number: QTCREATORBUG-10427

Change-Id: Ifa7944c37449afe95c26b2c57e694be8eb8cbf4d
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 17:13:45 +02:00
Eike Ziller
51a257637e LLDB: Set environment for debugged process
Task-number: QTCREATORBUG-10030

Change-Id: Ib487cee704ea30f52c52f6f025823637fa4199eb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 12:25:49 +02:00
hjk
7d8546b8e5 Debugger: Avoid python eval in normal operation
Change-Id: Iee0989bd3581f3b61eb975d58bc1c9e119e27d89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-17 17:12:55 +02:00
hjk
5ed7442f99 Debugger: Fix char * display with LLDB
Change-Id: I2d0989bd3581f3b61eb975d58bc1c9e119e27d89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 18:45:01 +02:00
hjk
d3e04583ff Debugger: Remove execfile use from lldbbridge
Change-Id: I1d0989bd3581f3b61eb975d58bc1c9e119e27d89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 18:02:22 +02:00
hjk
3c3d4566f3 Debugger: Fix internal dumpers after modularisation
creatortypes.py wasn't included, and some d. qualification missing.

Change-Id: I1f444358cc1489f47083af39565147576f1885b7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 16:53:56 +02:00
hjk
50e32a9252 Debugger: Fix attaching and argument passing with LLDB
Task-number: QTCREATORBUG-10121
Task-number: QTCREATORBUG-9946

Change-Id: I033ec0679a3335ad14d511c0846e10e90a4679d5
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-14 18:57:36 +02:00
hjk
d6afbdd047 Debugger: Split qttypes.py
... into qttypes, stdtypes, boosttypes, and misctypes.py

Change-Id: I3bce8dfe912c528f3a0d8d6670108f8d3272b4af
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-11 12:52:37 +02:00
hjk
c372f7b601 Rename share/dumper to share/debugger and {l,g}bridge to {lldb,gdb}bridge
Change-Id: I56a09dd89d2ac086ee264432510fd39b5efe69c5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-26 21:50:40 +02:00