Commit Graph

331 Commits

Author SHA1 Message Date
hjk
77c7cac4b6 Debugger: Fix debugger startup on iOS
Task-number: QTCREATORBUG-12580
Change-Id: I8a2a38741719e8cf0b8a098eaa5d76eeb4bb1fb5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-07-01 12:54:05 +02:00
hjk
281aa9e0d6 Debugger: Add personaltypes.py as default location for local additions
Change-Id: Ib393258970f04f2e829f959adedfbc588a966a10
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-24 09:41:16 +02:00
hjk
d57bb24354 Debugger: Better fall back for LLDB without remote support
Change-Id: I517052bb795674d4beda05e3909dc05afc99bfe3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-03 17:07:03 +02:00
hjk
60f5b5afc5 Debugger: Fail more gracefully on "ill" LLDB engines
Less need to use the hard Debug->Abort

Change-Id: Ib019792063924549ace58a63ccef994dbfaa00dc
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-03 17:06:43 +02:00
hjk
252048ef01 Debugger: Make char * displayable in separate windows
Task-number: QTCREATORBUG-7313
Change-Id: I8d475dd94a48e7a1d5efe4c2c0d90cb6bdf9b3e2
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-28 15:07:59 +02:00
hjk
3ae6c09714 Debugger: Regression cleanup
Sneaked in with 40052046fd.

Change-Id: I711c5b8e6869647a447a5f17f693de571b5f0337
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-20 13:01:31 +02:00
hjk
40052046fd Debugger: Rework display length limitation systems
There are two values now, one to limit an entry in the L&E view
(default 100) and a hard upper limit (at 1 mio).

If displayed values are elided, the true length is shown in addition.

Change-Id: I180b70446c18e258c164e5af75b88d4c8b6c53f2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-16 17:50:18 +02:00
hjk
6107fdc276 Debugger: Add "composite" watchers
Multiple expressions can be separated by semicolon,
and arrays allow index ranges given as [a..b] or
with strides [a.(s).b].

Change-Id: I0b7b4ee500a5f6f5027d777b0a1e8ee5a28a7cd5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-13 12:58:35 +02:00
hjk
d2ad6aa972 Debugger: Simplify array dumper user code
Heads up: This switches the argument order to allow a default
argument for the inner type if it can be determined from the
base pointer.

Change-Id: I9bf80fcdd51b5db8e7c65adba551ca667912cd86
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-06 13:50:25 +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
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
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
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
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
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
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
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
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
b7ebfd274f Debugger: Move some common bridge code to dumper base
Change-Id: I9fd988c84bff5e02bc45478994f27a7bddb3358b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 13:14:13 +01:00
hjk
8931a14afe Debugger: Select topmost frame with usable data also with LLDB
Task-number: QTCREATORBUG-11597
Change-Id: I5d95c9172e90b82f5671427283cf46e924456c4c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-07 12:49:31 +01:00
hjk
1d1695c2b4 Debugger: Move breakpoint markers with LLDB
Task-number: QTCREATORBUG-11564
Change-Id: I98044c641ad68431176d8ef54e8e1ec1bef296bc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-06 10:44:20 +01:00
hjk
a8a9786b91 Debugger: Add Run-in-Console for LLDB
Task-number: QTCREATORBUG-9650
Change-Id: I74586ca8c89efedbb952218497f7acdae500d3b9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-03-05 16:03:55 +01:00
hjk
880a834b11 Debugger: Add start with step-into for LLDB
Task-number: QTCREATORBUG-11596

Change-Id: I4561d74524b70bc81345ab9beb60ec7242045509
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-28 13:33:49 +01:00
hjk
a19353674c Debugger: Stop process before manipulating breakpoints with LLDB
This seems to be a LLDB/Linux specific problem.

Task-number: QTCREATORBUG-11441
Change-Id: I390e17737a63f53dc1d1e2060ef87a3ad94fedf5
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-11 10:44:54 +01:00
hjk
c7f80c2c00 Debugger: Fix reaction to unsupported types of breakpoint.
Task-number: QTCREATORBUG-11434

Change-Id: I5b295df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-11 10:05:20 +01:00
hjk
3e1ae6bf3a Debugger: Make 'Jump to Address' work with LLDB
Change-Id: Iba288df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-10 10:18:17 +01:00
hjk
f4d94df84a Debugger: Run to line for LLDB
And some error reporting.

Change-Id: Iab298df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-10 10:17:53 +01:00
hjk
f413ff0bc4 Debugger: Make LLDB main loop exception reporting more verbose
Include the full call stack.

Change-Id: Ib2a18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-06 16:18:31 +01:00
hjk
aef47d9011 Debugger: Move list of statics to subnode
Task-number: QTCREATORBUG-11401

Change-Id: Iafa18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-06 16:16:34 +01:00
hjk
282e688db2 Debugger: Fix "Jump to Line" for LLDB
Change-Id: I2fa58fd0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-06 14:32:46 +01:00
hjk
d963ad4167 Debugger: Work around wrong executable names
We currently don't always get proper executables from
the process list, and we don't need them for attaching.

Task-number: QTCREATORBUG-11295

Change-Id: I2fc18df0db85063146ed9dc09351844924e22bdc
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-05 11:18:31 +01:00
hjk
b9834e4092 Debugger: Move special argv display to DumperBase and use for LLDB, too
Change-Id: Ie1913f5a5062d230e02a4f1738ca14bd6cebc55c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 17:02:38 +01:00
hjk
b7c7a82060 Debugger: Pass command line parameters with LLDB
Change-Id: Id25155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 15:49:12 +01:00
hjk
10f0044031 Debugger: Allow incremental expansion of large stacks
Task-number: QTCREATORBUG-11108

Change-Id: Id1a155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-03 14:12:58 +01:00
hjk
3e4cc08699 Debugger: Yet another way to extract metaobjects
FindFirstGlobalVariable seems to return bogus values.
EvaluateExpression might be more reliable.

Change-Id: Ic84155688e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 18:14:00 +01:00
hjk
b2874f3bb3 Debugger: Make some gdb dumper work for libc++
Better user experience on Mac.

Change-Id: Ice1455685e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 17:11:02 +01:00
hjk
5e5a7ca828 Debugger: Work on older LLDB.
Breakpoint setting and some data examination give now
results with 167.2. Communication is not working, only
one event is handled.

Change-Id: Ice40e568ee0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 14:50:36 +01:00
hjk
6dc03f7259 Debugger: Use a more robust fallback for SBValue.Dereference
Change-Id: Ie81899017c7e711ea8b04d85f8298b0d73f1cbab
(cherry picked from commit 88114aba3ef4ccf2d1597e9a21dd49efb8c86717)
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 18:40:15 +01:00
hjk
c6f4931624 Debugger: Search static meta objects recursively also with LLDB
Change-Id: I5e7eb59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:04:29 +01:00
hjk
d40ee224d4 Debugger: Handle extraction of data from temporary SBValue
Change-Id: I5d79b59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:01:43 +01:00
hjk
8cf01f81c1 Debugger: Object name display needs debug image on Mac
This should be avoided if possible...

Change-Id: I4c95ab4ab7f765ad42bf6bd35c6f790de5f03668
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 16:49:04 +01:00
hjk
ba93c22db1 Debugger: Filter out well-known static variables
Change-Id: I2c95ab4ab7f765ad42bf6bd35c6f790de5f03668
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-29 16:44:55 +01:00