forked from qt-creator/qt-creator
Debugger: Use Values instead of addresses in encodeByteArrayHelper
Change-Id: I4ee44f14b5b0d6afddb305a923d25a737f0d3d97 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -619,7 +619,8 @@ class DumperBase():
|
||||
elided, shown = self.computeLimit(size, limit)
|
||||
return elided, self.readMemory(data, 2 * shown)
|
||||
|
||||
def encodeByteArrayHelper(self, addr, limit):
|
||||
def encodeByteArrayHelper(self, value, limit):
|
||||
addr = self.extractPointer(value)
|
||||
data, size, alloc = self.qArrayDataHelper(addr)
|
||||
if alloc != 0:
|
||||
self.check(0 <= size and size <= alloc and alloc <= 100 * 1000 * 1000)
|
||||
@@ -670,15 +671,14 @@ class DumperBase():
|
||||
return self.hexencode(bytes(self.readRawMemory(addr, size)))
|
||||
|
||||
def encodeByteArray(self, value, limit=0):
|
||||
elided, data = self.encodeByteArrayHelper(self.extractPointer(value), limit)
|
||||
elided, data = self.encodeByteArrayHelper(value, limit)
|
||||
return data
|
||||
|
||||
def qArrayData(self, value):
|
||||
return self.qArrayDataHelper(self.extractPointer(value))
|
||||
|
||||
def putByteArrayValue(self, value):
|
||||
elided, data = self.encodeByteArrayHelper(
|
||||
self.extractPointer(value), self.displayStringLimit)
|
||||
elided, data = self.encodeByteArrayHelper(value, self.displayStringLimit)
|
||||
self.putValue(data, 'latin1', elided=elided)
|
||||
|
||||
def encodeString(self, value, limit=0):
|
||||
|
@@ -72,7 +72,7 @@ def qdump__QByteArray(d, value):
|
||||
elided, shown = d.computeLimit(size, d.displayStringLimit)
|
||||
p = d.readMemory(data, shown)
|
||||
else:
|
||||
elided, p = d.encodeByteArrayHelper(d.extractPointer(value), d.displayStringLimit)
|
||||
elided, p = d.encodeByteArrayHelper(value, d.displayStringLimit)
|
||||
|
||||
displayFormat = d.currentItemFormat()
|
||||
if displayFormat == DisplayFormat.Automatic or displayFormat == DisplayFormat.Latin1String:
|
||||
@@ -380,7 +380,7 @@ def qdump__QDateTime(d, value):
|
||||
tz = ''
|
||||
else:
|
||||
idBase = tzp + 2 * d.ptrSize() # [QSharedData] + [vptr]
|
||||
elided, tz = d.encodeByteArrayHelper(d.extractPointer(idBase), limit=100)
|
||||
elided, tz = d.encodeByteArray(idBase, limit=100)
|
||||
d.putValue('%s/%s/%s/%s/%s/%s' % (msecs, spec, offset, tz, status, 0),
|
||||
'datetimeinternal')
|
||||
else:
|
||||
|
Reference in New Issue
Block a user