diff options
author | hjk <hjk@qt.io> | 2020-11-24 16:33:57 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-11-25 11:41:24 +0000 |
commit | 79df1c08043b16f1141f3f6f470557a06f55c242 (patch) | |
tree | 1450a62ed1ee16b6499881eca1733703b2507b4f | |
parent | 1074c2ffceb1a0df5598ae6e4b9ce1985ee05f25 (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.py | 8 | ||||
-rw-r--r-- | share/qtcreator/debugger/qttypes.py | 3 |
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: |