Commit Graph

494 Commits

Author SHA1 Message Date
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
hjk
9051350b42 Debugger: Remove SimpleValueCode from gdbbridge.py
This was left over from the first LLDB integration.

Change-Id: I99bf43d49d4a7650e1f1b2f572e264c1f234fd36
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-11 12:16:55 +02:00
hjk
4f36713716 Debugger: Explicitly handle uint8_t and int8_t
Would be nicer if there was a global way to tell GDB to not produce
"adorned" output...

Task-number: QTCREATORBUG-10344
Change-Id: I5355ebea0570f76415fdacfed34e1311825f57b9
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-10 21:25:36 +02:00
Martin Bohacek
ed062e85f0 Debugger: add support for dumping non-ASCII UTF-8 QChar
Change-Id: I87d9557c1e5b945972ddf3f63f8cb064514a3b54
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-27 17:35:06 +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