Commit Graph

604 Commits

Author SHA1 Message Date
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
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
d13a8c1ada Debugger: Add dumper for QByteArrayData
Change-Id: Ia13be75a6466b710ddfe66665b124b1e2335a72c
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-23 12:31:23 +02:00
hjk
9f66b6384a Debugger: Fix QVariant{Map,Hash} dumper with Qt 5
Change-Id: I5be3b960a7a3091dc77555883d93e3d89b17381d
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 19:14:33 +02:00
hjk
4c35310cec Debugger: Adjust QDateTime dumper after Qt 5.2 changes
Task-number: QTCREATORBUG-10232
Change-Id: I10551a258edb9456c4a9f93a3bfb374a8f07fc7d
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 19:12:31 +02:00
hjk
a6c060cc65 Debugger: Try to extract Qt version from QtCore
This won't work without inferior calls (e.g. when loading core files),
so the old code is needed as fallback.

Change-Id: I1c9efc06374b00bc391bf55528546ccefc60349b
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 19:12:22 +02:00
hjk
363c9c87b2 Debugger: Work around strange GDB behavior with overload resolution
Contrary to the documention, using the default (i.e. 'on') it seems to _require_
xplicit casting of function pointers:
 (gdb) p &Myns::QMetaType::typeName
    -> $1 = (const char *(*)(int)) 0xb7cf73b0 <Myns::QMetaType::typeName(int)>
 (gdb) p Myns::QMetaType::typeName(1024)
     -> 31^error,msg="Couldn't find method Myns::QMetaType::typeName"
But we can work around on the dumper side. So let's use the default from now on.

Change-Id: I3e2a87df797c6abab6183b4c121b843e5035cd47
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 19:10:47 +02:00
Eike Ziller
5686f5fd70 QUrl dumper: use correct string type name and extend test
Change-Id: I7fe88d11b3d52ba31d3e8564b673a35001e31488
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 13:20:03 +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
hjk
fc52b30450 Debugger: Simplify QVariant{Hash,Map} dumper
Change-Id: I4c5c79f9b2b2d739971d9f50a2b48cfde005e167
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-22 10:11:17 +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
hjk
fafc00da4a Debugger: Fix QVariantMap/QVariantHash dumper with Qt 5
Change-Id: I71358adc8c01dd1261627f35d0f35500e8b34989
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 15:02:40 +02:00
hjk
6f6999bee3 Debugger: Fix boost/time dumpers with Python 3
Change-Id: Ia93034641889603c4de57babf0117132eeb0c0cb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 15:02:24 +02:00
hjk
8c02d6e0dd Debugger: Fix QChar dumper with Python 3
Change-Id: I7da412c9bdaf3a8f65484ac99f06fc31a5cdc1c3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 14:15:56 +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
ffe50efa00 Debugger: Remove wrong check in boost::shared_pointer dumper
Task-Number: QTCREATORBUG-10441
Change-Id: I404fe9848444c2b03c086d027c0f3716f0bb3542
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 02:12:34 +02:00
hjk
daf8d9bcf5 Debugger: Fix QVariant dumpers of Gui types.
Ouch...

Change-Id: I5cf5b660b451c26f55663bd81ea7fab4404c2884
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 01:20:33 +02:00
hjk
49a2d45e59 Debugger: Fix encoding switch between Python 2 and Python 3
Change-Id: I29260139fa82f63c3e278913c5e3aa9f658d15d6
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-10-19 15:22:23 +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
8b2ce98e66 Debugger: Fix QModelIndex dumper
Change-Id: Icd0989bd3581f3b61eb975d58bc1c9e119e27d88
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 17:05:25 +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
9ace7c3b22 Debugger: Fix display of alternative string encoding
That's a recent regression after the *bridge.py split.

Change-Id: I6488052e45167586bfe455d411985324bf882a15
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-11 12:53:15 +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
6f24665e7e Debugger: Make QList display configurable
This is more a workaround for case where the ::isStatic
guessing goes wrong.

Change-Id: If01a8c605e3404fe398c24c4b2c83664caae1d59
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-11 12:39:56 +02:00
hjk
047adfacbd Debugger: Fix array dumping in corner cases
Don't try to use the compact method if we can't determine the
underlying format as we wouldn't know how to display the data
on the Creator side.

Change-Id: I985b9354c883da3a75bce1fe170b1f6cccc1dc21
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-11 12:38:39 +02:00
hjk
52cbcf9bef Debugger: Truncate pointer values when accessing string data
Change-Id: I001a8c605e3404fe398c24c4b2c83664caae1d59
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-11 12:37:00 +02:00