forked from qt-creator/qt-creator
Debugger: Use Values instead of addresses in putStringValue
Change-Id: I31a3c1a326d777d9e7081552d5a956e8e2882dcf Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -608,7 +608,8 @@ class DumperBase():
|
|||||||
return data, size, alloc
|
return data, size, alloc
|
||||||
|
|
||||||
# addr is the begin of a QByteArrayData structure
|
# 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
|
# Should not happen, but we get it with LLDB as result
|
||||||
# of inferior calls
|
# of inferior calls
|
||||||
if addr == 0:
|
if addr == 0:
|
||||||
@@ -690,7 +691,7 @@ class DumperBase():
|
|||||||
data = self.readMemory(ptr, shown)
|
data = self.readMemory(ptr, shown)
|
||||||
return data
|
return data
|
||||||
else:
|
else:
|
||||||
elided, data = self.encodeStringHelper(self.extractPointer(value), limit)
|
elided, data = self.encodeStringHelper(value, limit)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def encodedUtf16ToUtf8(self, s):
|
def encodedUtf16ToUtf8(self, s):
|
||||||
@@ -750,8 +751,7 @@ class DumperBase():
|
|||||||
data = self.readMemory(ptr, shown)
|
data = self.readMemory(ptr, shown)
|
||||||
self.putValue(data, 'utf16', elided=elided)
|
self.putValue(data, 'utf16', elided=elided)
|
||||||
else:
|
else:
|
||||||
addr = self.extractPointer(value)
|
elided, data = self.encodeStringHelper(value, self.displayStringLimit)
|
||||||
elided, data = self.encodeStringHelper(addr, self.displayStringLimit)
|
|
||||||
self.putValue(data, 'utf16', elided=elided)
|
self.putValue(data, 'utf16', elided=elided)
|
||||||
|
|
||||||
def putPtrItem(self, name, value):
|
def putPtrItem(self, name, value):
|
||||||
|
@@ -3052,7 +3052,8 @@ def qdump__QJsonValue(d, value):
|
|||||||
return
|
return
|
||||||
if t == 3:
|
if t == 3:
|
||||||
d.putType('QJsonValue (String)')
|
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)
|
d.putValue(base, 'utf16', elided=elided)
|
||||||
return
|
return
|
||||||
if t == 4:
|
if t == 4:
|
||||||
|
Reference in New Issue
Block a user