aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-11-24 16:33:57 +0100
committerhjk <hjk@qt.io>2020-11-25 11:41:24 +0000
commit79df1c08043b16f1141f3f6f470557a06f55c242 (patch)
tree1450a62ed1ee16b6499881eca1733703b2507b4f
parent1074c2ffceb1a0df5598ae6e4b9ce1985ee05f25 (diff)
Debugger: Use Values instead of addresses in putStringValue
Change-Id: I31a3c1a326d777d9e7081552d5a956e8e2882dcf Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--share/qtcreator/debugger/dumper.py8
-rw-r--r--share/qtcreator/debugger/qttypes.py3
2 files changed, 6 insertions, 5 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index a9ef5b980f..d0d1244ff1 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -608,7 +608,8 @@ class DumperBase():
return data, size, alloc
# addr is the begin of a QByteArrayData structure
- def encodeStringHelper(self, addr, limit):
+ def encodeStringHelper(self, value, limit):
+ addr = self.extractPointer(value)
# Should not happen, but we get it with LLDB as result
# of inferior calls
if addr == 0:
@@ -690,7 +691,7 @@ class DumperBase():
data = self.readMemory(ptr, shown)
return data
else:
- elided, data = self.encodeStringHelper(self.extractPointer(value), limit)
+ elided, data = self.encodeStringHelper(value, limit)
return data
def encodedUtf16ToUtf8(self, s):
@@ -750,8 +751,7 @@ class DumperBase():
data = self.readMemory(ptr, shown)
self.putValue(data, 'utf16', elided=elided)
else:
- addr = self.extractPointer(value)
- elided, data = self.encodeStringHelper(addr, self.displayStringLimit)
+ elided, data = self.encodeStringHelper(value, self.displayStringLimit)
self.putValue(data, 'utf16', elided=elided)
def putPtrItem(self, name, value):
diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py
index 36da4087a5..0d1facbecb 100644
--- a/share/qtcreator/debugger/qttypes.py
+++ b/share/qtcreator/debugger/qttypes.py
@@ -3052,7 +3052,8 @@ def qdump__QJsonValue(d, value):
return
if t == 3:
d.putType('QJsonValue (String)')
- elided, base = d.encodeStringHelper(data, d.displayStringLimit)
+ string = value.split('{QString}')[0]
+ elided, base = d.encodeString(string, d.displayStringLimit)
d.putValue(base, 'utf16', elided=elided)
return
if t == 4: