From 0cdea406061fe1bad0ab577adab0e0dc9b3b73dc Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 12 Dec 2019 11:39:52 +0100 Subject: [PATCH] Debugger: Fix std::string dumper for GCC 9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: QTCREATORBUG-22753 Fixes: QTCREATORBUG-22680 Change-Id: I75e2855d27bc2b83880379fee2364586b9d4a90e Reviewed-by: André Hartmann Reviewed-by: Christian Stenger --- share/qtcreator/debugger/stdtypes.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py index 2f51aa2ec1e..56890487b11 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