Commit Graph

297 Commits

Author SHA1 Message Date
hjk
a9e1eef089 Debugger: Limit QObject name dumper to a more-than reasonable maximum
GDB can crash on to big chunks. Since this here is a convenience
feature only, hard-limiting it to length 200 seems ok as work-around.

Task-number: QTCREATORBUG-12330
Change-Id: Ia6ebf16f3528d91020d19851641f42c1e421fe15
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-05-30 13:34:25 +02:00
hjk
1398480f3a Debugger: Limit QByteArray and QString display length
Also add '...' for cut-off std::strings.

Change-Id: Ib6129eb43c723f2a863086a0142312c669b65665
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-16 16:35:38 +02:00
hjk
5cb7bd51f4 Debugger: Fix Eigen dumpers, again
This time with autotests.

Task-number: QTCREATORBUG-12193
Change-Id: Id91eecd38eb4ac76c68be8e9969651407a68ebf4
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-09 08:51:41 +02:00
hjk
e7eb227157 Debugger: Fix Eigen::Matrix dumper with LLDB
Access by address. Big hammer, but LLDB doesn't cope
well with templates...

Change-Id: I430a83c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-11 17:04:12 +02:00
hjk
e6292d3681 Debugger: Better connection count display
Not a full fix yet. Disconnect does not reduce the count
since the Connection object remains in the structure,
only the receiver gets set to 0.

The connections are now listed as subitem of [signals]

Change-Id: I3dd795b3731b30e2af6f4d0e5da71dbde8996649
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-11 16:50:17 +02:00
hjk
41582b1911 Debugger: Work around mis-reading of integral template types
Clang/LLDB toolchain issue: -1 gets recorded and read
as 'int' with value '0xffffffff'.

Change-Id: I070a83c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-11 16:41:03 +02:00
hjk
03c6df1fab Debugger: Fix staticMetaObject extraction with LLDB
When asked for Foo::staticMetaObject, it will find
any *::staticMetaObject. Looking for the mangled name
finds the one we need.

Change-Id: I4508a3c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-11 14:24:35 +02:00
hjk
c7701e8164 Debugger: Use proper item count for signals and methods
Change-Id: I2dd795b3731b30e2af6f4d0e5da71dbde8996649
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-10 13:38:12 +02:00
hjk
4b4181a9cd Debugger: Handling eigen3 in manual test
Change-Id: Id3e6eddffe8d0edd7d5947c2eec03d707bd2436b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-10 12:19:24 +02:00
hjk
13a4f739ef Debugger: List QObject methods and signals in dumper
This mostly re-activates code from the old code path
in the QObject dumper.

Task-number: QTCREATORBUG-11997

Change-Id: Ie3e6eddffe8d0edd7d5947c2eec03d707bd2436b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-10 10:55:15 +02:00
hjk
7dce490546 Debugger: Fix internal type dumper
Change-Id: I5c9ad7c5f95980bb85e07f1ea6dddcdf8b8a19a2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-04-09 17:32:25 +02:00
hjk
05f72338f3 Debugger: Handle the <more> item in LLDB stack view
Task-number: QTCREATORBUG-11915
Change-Id: I7216987c68802c9d3b74fbd5b543ea4aa5953ff8
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-09 16:57:32 +02:00
hjk
057e5d9150 Debugger: Show item count with Qt4's QMap
Contents is still wrong for Clang builds as the
debug information recorded for the node types
is insufficient.

Change-Id: I4c694e5010ade7f3ebbb4a94163d7b44da13c10d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-08 18:04:08 +02:00
hjk
ef4388d43b Debugger: Fix pointer arithmetic in lldbbridge.py
Cut-and-past-o in a currently unused code path.

Change-Id: I2c690e5010ade7f3ebbb4a94163d7b44da13c10d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-07 12:28:22 +02:00
hjk
26d5059961 Debugger: More robust Qt version extraction with LLDB
Change-Id: I1c690e5010ade7f3ebbb4a94163d7b44da13c10d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-04 16:14:01 +02:00
hjk
d8adc10fbe Debugger: More direct way to extract dynamic QObject properties
This avoids the address == -1 problem for generated
values with LLDB.

Change-Id: I13cfc7387d8e5329b588d6d841cd9c2322270363
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-04 11:00:00 +02:00
hjk
78d2e274b7 Debugger: Robustify QSet and QHash dumpers
Change-Id: I6d4df7f00719e5f7c4ee2f41c890348ab9aeaa8a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-03 13:41:30 +02:00
hjk
b5f4678846 Debugger: Handle failing inferior calls more gracefully
At least for GDB on Windows that's a rather typical situation due to
GDB's "Internal error: pc in read in psymtab, but not in symtab"

Task-number: QTCREATORBUG-11164

Change-Id: If79d586b59e2c1ee37558e8a811091fefc69ac2d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-03 13:41:21 +02:00
Christian Stenger
eabf4628c9 Debugger: Use tested offsets in QFile dumper
Change-Id: I6c45d9ebcfa7705ba0913cd1c3ff30798758c473
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-03 12:13:08 +02:00
hjk
18b91ae4ec Debugger: Move putPlainChildren() to Dumper base
It's reusable...

Change-Id: I1a0f40b9b3bbecf99024d3a2fd5148baf604109b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:03:43 +02:00
hjk
50459e5713 Debugger: Use target not host architecture in QDateTime dumper
Task-number: QTCREATORBUG-11164

Change-Id: I83bd56f91c1e5342e1a755638c794dde7f5b345a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:00:22 +02:00
hjk
c5dd58fce5 Debugger: Use tested offsets in QDateTime dumper
Task-number: QTCREATORBUG-11164
Change-Id: I9184e2f14baa3d3d649839f25088dbd0a01a3496
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-01 16:48:55 +02:00
hjk
7932a9ddbc Debugger: More robust metaobject extraction
Change-Id: I359cbdcfb0594b988e041c06efa44c6fd85a8d65
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-01 12:38:55 +02:00
hjk
f92e04374a Debugger: Speed up Qt namespace detection in non-Qt projects
Task-number: QTCREATORBUG-10610
Change-Id: Idc5a93625fa4a148864709a1cefbcbbab877a8a2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-27 16:53:11 +01:00
hjk
2d8f1247fc Debugger: Use direct version access in QMap dumper
We rely on the Qt version being correct elsewhere anyway, so no
need to use another approach here.

Change-Id: I6a3eb450bf6841c9a301b24e035aa3152186d7a5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-27 13:50:50 +01:00
hjk
186570a259 Debugger: Fix jump to line with LLDB
Typos and interpreted languages...

Change-Id: I15c197176ade1800474fb1581ef6333ffb2752e1
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-27 13:09:43 +01:00
Orgad Shaneh
311868a696 Debugger: Support p1 on Windows
Change-Id: Id634dc37b2708f9cb88e5b01ff758d5adcde215e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-26 15:15:57 +01:00
hjk
5f16194870 Debugger: Add test for dynamic QObject property dumper
Change-Id: I3216a8f891b76a5e9d342aa97540fcb73c590531
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-25 16:59:15 +01:00
hjk
f7a05780d2 Debugger: Fix QObject property dumper for Qt4
Change-Id: I5aa28a3c1fb5847b758f5f1a27359cab3e38ff5c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-20 15:44:49 +01:00
hjk
4999da41f5 Debugger: Fix Qt 4 Variant dumper for extended core types
Change-Id: I5532453e0d2568b3c3d24a645b7a05aa4b579fb3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-19 20:32:58 +01:00
hjk
e9a2e4569b Debugger: Fix QXmlAttributes dumper for LLDB
Change-Id: I456424161cc80acc4057a56f62af5d33acf2eef7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-19 19:01:02 +01:00
hjk
484bacdd51 Debugger: Robustify QMetaObject extraction.
LLDB manages to extract a QAction metaobject from any
plain int and classes without any bases.

Change-Id: I22cdd8e5c73d21d837772be83087dc065698db30
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-19 17:07:32 +01:00
hjk
f9a7bb7bcf Debugger: More robust Qt namespace extraction for LLDB
Change-Id: I3964f15cb4295a64f91e0eb6035d365ee2b9f9bd
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-19 13:12:11 +01:00
hjk
358500e7fc Debugger: Move LLDB state reporting to separate function
Change-Id: I4e250173efc1c0df002d2ce94f7e8df57339544b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-19 13:05:38 +01:00
hjk
05d7dd1bb9 Debugger: Synchronize LLDB bridge output
Output coming from spontaneous events should not interfere
with output produces by lengthy display generation.

Change-Id: I2a9e4fa93db131cfdac4cb0eb613c0159214d8be
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-19 12:57:07 +01:00
hjk
5d1bc3859d Debugger: Add simple QV4::String dumper
Change-Id: Ide277128d30c4dcc5c396441ebd6e40aa3fc8b51
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-18 10:32:31 +01:00
hjk
1910fe9175 Debugger: Add dumper for boost::container::list
Change-Id: I251a859ca63bf932cb0d22ef11b5492b75ebcadd
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-14 16:17:29 +01:00
Christian Stenger
6f2c3d9cb3 LLDB: Stop creating zombies when executing dumper auto tests
Change-Id: I8a9d2e9e0027f60a9801ba9a20aab1c5e2991bdb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-14 13:00:55 +01:00
hjk
906b813640 Debugger: Simplify LLDB Qt namespace and version extraction
Change-Id: I00b0e32da56bef613220d98f9d99758b47b3daf5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 18:05:52 +01:00
hjk
0abf12ae32 Debugger: Fix base type extraction with LLDB
Change-Id: I0370040879abf948be8594dec4bf267978329bbb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 15:11:32 +01:00
hjk
af43f684bd Debugger: Consolidate metaObject recognition
Same code can be used for LLDB and GDB...

Change-Id: I07aae10fec28f01425cc13285504f57aef3afd25
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 14:31:36 +01:00
hjk
8303f793ab Debugger: Force plain transport for non-ASCII char data
Task-number: QTCREATORBUG-11670
Change-Id: Iec5d3c7e73139414c51216ed6767c4524e859329
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-03-12 10:28:54 +01:00
hjk
72d1998824 Debugger: Implement "Create Full Backtrace" for LLDB
Task-number: QTCREATORBUG-11642
Change-Id: I92d7cde1e5021ab06ad72a00645184c41dae0e6b
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-11 16:56:23 +01:00
hjk
4202b94dbf Debugger: Let creator trigger the locals update also with LLDB
Makes the code path more similar to the GDB side and allows
skipping register refreshs when the view is invisible.

Change-Id: Ia9210ee1709dbc5c9c7a6870bf8a54484261fee0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-11 16:29:28 +01:00
hjk
b76fb6baba Debugger: Comment out unused threadname code
This should be re-vived at some time for MinGW, until then making
clear that it is not used does not hurt.

Change-Id: I365c9fb1f859223da2f96b72a33419313438d83b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-03-11 14:44:25 +01:00
Christian Stenger
660014f098 Debugger: Fix typo
Change-Id: Iba23331b4a6a17c690a6c630e1fbb29d530cfb30
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-11 13:21:47 +01:00
Christian Stenger
f8afa89ba7 Tests: Fix QThread dumper for old gdb (~7.4)
Change-Id: Ifbaf8f326744e9e271b407d8650ffcc47b890889
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-10 17:57:09 +01:00
Orgad Shaneh
5bb72be900 Debugger: Print traceback on dumper exception
Change-Id: I652d31b111eab464bf3301968fe273d24f0dad11
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-10 10:05:02 +01:00
hjk
3a988262de Debugger: Speed up Qt version extraction
Change-Id: I20494f4cae410d430049b3a5e4ce397ac3917ddb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 18:56:21 +01:00
hjk
dbc474ef71 Debugger: Speed up Qt namespace extraction with GDB
Change-Id: Ic2a1296828d5aceb6c0aae0edbd165e3d0e86741
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 17:59:18 +01:00