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
hjk
fe0bddbd63
Debugger: Rework dumper detection
...
Recent versions of GDB seem to require 'make install' to find their
Python bits. Given that this is not really an option, check the
usual suspects, too.
Change-Id: I5217c0184681d4a86992fe0b8989498843b26cea
Reviewed-by: David Schulz <david.schulz@digia.com >
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-11-01 10:08:38 +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
hjk
afe4da2770
Debugger: Don't search for object names in non-QObjects
...
Change-Id: I9f7f944ed9dfccfe36d2610dd70908b8bb10727e
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-31 13:39:41 +01:00
hjk
075f55e0b9
Debugger: Memorize results of pointer lookups
...
Change-Id: If3dfdd21ac0737af7ee205b376b57d6e58ff6f91
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-31 13:39:08 +01:00
hjk
47afc21328
Debugger: Remove unused Dumper.intPtr function
...
Change-Id: I7716dbcfa028556647758611e279012eaae4928a
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-31 13:38:15 +01:00
hjk
a84963ec38
Debugger: More restructuring of globals in dumpers
...
Change-Id: I6cb45097dd355a9362c0555504871210ff712bdb
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-31 10:44:39 +01:00
hjk
e159fd4920
Debugger: Remove some workaround for GDB 7.1 in dumpers
...
We require 7.4 nowadays.
Change-Id: I9686e9ee751a19e765e72a5f0086889dc4a051da
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-31 10:44:22 +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
Eike Ziller
f7fa44d48a
dumpers: Add test for QUrl() and fix it
...
Change-Id: I84d4963210784dd982e897fd57dc9e5fad086aef
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-30 17:03:54 +01:00
hjk
068a2909cc
Debugger: Don't recreate gdb dumper object every time
...
This allows for easier caching of "expensive" information.
Change-Id: I97f272c795483250bd00a0ff899cb8c27b0ab6e9
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-30 15:20:56 +01:00
hjk
700eca4b21
Debugger: Make memory accessible again with gdb < 7.4
...
gdb.selected_inferior is too new for now.
Change-Id: I4290574b6dd2803a2fd2f860700693e7b2ac6efb
Reviewed-by: Rainer Keller <rainer.keller@digia.com >
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-30 14:08:50 +01:00
hjk
dbb95ba7f2
Debugger: Fix pointer dereferencing in gdb dumper
...
Size depends on target arch, not host arch.
Change-Id: I8d7875159910f94b332967d14fa654a899f954fd
Reviewed-by: Rainer Keller <rainer.keller@digia.com >
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-30 14:08:23 +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
d918a32090
debugger: fix QHashNode dumper and QHashNode type check for Qt4
...
The previous workaround for the Qt 4 optimized int,uint,short,ushort
QHashNode wasn't working for the QHashNode dumper itself because of
unknown key type. Instead we first try to find the 'key' child directly,
if that fails we look for it in the second child (which would be the
anonymous union from the optimized hash node, which contains the key).
Also fix the expected type for QHashNode in the optimized case for Qt4
Change-Id: Ib48c2c0afec081ff38cd750c3d515a5e678e9661
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-29 12:40:46 +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
7ba935c44b
debugger: Fix QDir dumper for Qt4 64bit
...
Also make the structure more self-explained
Change-Id: Ia5080f4e07e2a8b7c6b18e1353a4cf1cf3488361
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-28 16:41:10 +01:00
Eike Ziller
48007785b0
debugger: Fix Qt4 QFile dumper
...
Change-Id: Ifd2caaef4d0c286f2855175acb2dc1b835213c37
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-28 16:40:50 +01:00
Christian Stenger
c726f3c47e
Dumpers: Fix standard types (C++11) for old gcc
...
Change-Id: Ic208a45f6d0c7419d83dccd78b552c734421c953
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-28 16:37:10 +01:00
Eike Ziller
a3c4fe1ff2
dumpers: Fix QHash<int,...> dumper for Qt4
...
In Qt4 (u)int hashs are optimized and the key is inside an
anonymous union, so, at least with LLDB, we cannot reference
"key" directly as a child of the QHashNode
Change-Id: Id7cac3d08fa85af599f2b2564a6b1f11b465c7b2
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-28 12:50:55 +01:00
Christian Stenger
1ca3da6117
Dumpers: Fix dumper for QVariant holding QList for old GDB
...
Change-Id: Id34806f06546ad9a6618f9b9431143465a988c1d
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-28 12:50:32 +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
ab92c14bbe
Debugger: Fix std::complex dumper for LLDB
...
Change-Id: I5ffb0f60039bb05f8467e925e71cf710a0712791
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 18:19:54 +02:00
hjk
6c673a042f
Debugger: Fix std::deque dumper with LLDB
...
Change-Id: Idd3547396384fe5b421c4b601b52476a23cdfa89
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 17:40:22 +02:00
Eike Ziller
9a57a41a7a
Fix QDateTime dumper with various Qt versions and bitness
...
Change-Id: Iba15c1b27dc83e8949fef5fd25de61cc2b20be30
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 17:14:54 +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
6d4cc2231a
Debugger: Handle _Rb_tree_const_iterator, too
...
Change-Id: I01baa597976ec5f6e84c8c52aff6e617082b1a28
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 15:25:40 +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
71080c8b8a
Debugger: Fix std::map::iterator dumper for LLDB
...
"Better" spaces in type names again...
Change-Id: I21aafa021fd4893fb521251c9b4b9572c2beef44
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 12:46:27 +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
46c1769e24
Debugger: Show at least size for std::__1::unordered_map
...
Change-Id: I51aaba021fd4893fb521251c9b4b9572c2beef44
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 12:24:44 +02:00
hjk
1daac29647
Debugger: More QRegion dumper fixes
...
Change-Id: I01aaba021fd4893fb521251c9b4b9572c2beef44
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-24 11:37:50 +02:00
hjk
b889bb1608
Debugger: Make QRegion dumper more independent of debuginfo
...
Change-Id: I332e17cd4c6a167d273f31f4e7ff63c149a5d34b
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-23 19:27:33 +02:00
hjk
c60cc101dd
Debugger: More robust type lookup in QHashIterator dumper
...
LLDB needs exact matches of spaces
Change-Id: I442e17cd4c6a167d273f31f4e7ff63c149a5d34b
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-23 19:27:25 +02:00
hjk
0614587ebf
Debugger: Use more robust way to look up QMapNode types
...
LLDB needs exactly the same spacing as in the debug info.
Change-Id: I8a2e17cd4c6a167d273f31f4e7ff63c149a5d34b
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-23 17:52:15 +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
a590f8de05
Debugger: Fix some of the array dumpers with LLDB
...
Change-Id: Ie2b12a526ff7199bcadfc21a3deb5354063a3e3b
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-10-23 12:41:17 +02:00