summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-12-12 11:39:52 +0100
committerhjk <hjk@qt.io>2019-12-17 08:44:14 +0000
commit0cdea406061fe1bad0ab577adab0e0dc9b3b73dc (patch)
tree995a04f7715aecc7b5c537b6cee191f1259ba1f5
parente3338f2e8ac6cf48a6d75a463e04c0aa7a24511d (diff)
downloadqt-creator-0cdea406061fe1bad0ab577adab0e0dc9b3b73dc.tar.gz
Debugger: Fix std::string dumper for GCC 9
Fixes: QTCREATORBUG-22753 Fixes: QTCREATORBUG-22680 Change-Id: I75e2855d27bc2b83880379fee2364586b9d4a90e Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--share/qtcreator/debugger/stdtypes.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py
index 2f51aa2ec1..56890487b1 100644
--- a/share/qtcreator/debugger/stdtypes.py
+++ b/share/qtcreator/debugger/stdtypes.py
@@ -634,6 +634,15 @@ def qdumpHelper_std__string(d, value, charType, format):
qdumpHelper__std__string__MSVC(d, value, charType, format)
return
+ # GCC 9, QTCREATORBUG-22753
+ try:
+ data = value["_M_dataplus"]["_M_p"].pointer()
+ 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