aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-04-18 16:27:54 +0200
committerhjk <hjk@theqtcompany.com>2016-04-20 15:50:53 +0000
commit43b831083088ca5e502328edb7b01b0fb96e612b (patch)
tree618165d2fe66798e6827fb209d81d149efba8f9f /share
parentd432b1447284cb95f966330c9dced175aa3fc21f (diff)
Debugger: Disable dumper for QVariants with user defined types for LLDB
The type info is not directly accessible to the debugger. The workaround used so far generally works for initialized data, but can force loading all debug information otherwise. The behavior is exceptionally bad for LLDB 3.7 with GCC 5.x/C++14 due DW_TAG_base_type 'auto' encoded with DW_ATE = 0x0, bit_size = 0 produced by GCC and not understood by LLDB. Change-Id: I2b28b8a6aa15751c8e797bcbf501b81622680596 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/qttypes.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py
index ce475385a0..6769bfa0ec 100644
--- a/share/qtcreator/debugger/qttypes.py
+++ b/share/qtcreator/debugger/qttypes.py
@@ -2197,6 +2197,13 @@ def qdump__QVariant(d, value):
return innert
+ # Do not handle user types. The workaround below works, sometimes
+ # for inialized data, but can force loading all debug information
+ # and trigger parse errors "error: need to add support for
+ # DW_TAG_base_type 'auto' encoded with DW_ATE = 0x0, bit_size = 0"
+ # (LLDB 3.7/Linux)
+ if d.isLldb and platform.system() == "Linux":
+ return None
# User types.
d_ptr = value["d"]