aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2020-08-25 21:52:59 +0300
committerOrgad Shaneh <orgads@gmail.com>2020-08-26 09:23:27 +0000
commit29ecf16ed33377abf3cad23ae56899ed7f05db39 (patch)
tree746b5420acc7ae21c5bd2aa6be2deec207b0f464 /share
parentfff3b4183349f84f9f68dc7712fdd73c6b2111e7 (diff)
Dumpers: Fix string+allocator dumper for old GCC versions
Older versions of GCC headers don't have _M_string_length. Tested against GCC 4.4.4. Change-Id: Ib3a025edeb26afce7fd54acfb6e965e64200f024 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/stdtypes.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py
index d8ce961ac0..bf2f95fcf2 100644
--- a/share/qtcreator/debugger/stdtypes.py
+++ b/share/qtcreator/debugger/stdtypes.py
@@ -695,13 +695,15 @@ def qdumpHelper_std__string(d, value, charType, format):
# GCC 9, QTCREATORBUG-22753
try:
data = value["_M_dataplus"]["_M_p"].pointer()
+ except:
+ data = value.extractPointer()
+ try:
size = int(value["_M_string_length"])
d.putCharArrayHelper(data, size, charType, format)
return
except:
pass
- data = value.extractPointer()
# We can't lookup the std::string::_Rep type without crashing LLDB,
# so hard-code assumption on member position
# struct { size_type _M_length, size_type _M_capacity, int _M_refcount; }