Debugger: Use Values instead of addresses in encodeByteArrayHelper

Change-Id: I4ee44f14b5b0d6afddb305a923d25a737f0d3d97
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-11-24 15:44:49 +01:00
parent 147ca66932
commit 961c660ebd
2 changed files with 6 additions and 6 deletions

View File

@@ -619,7 +619,8 @@ class DumperBase():
elided, shown = self.computeLimit(size, limit) elided, shown = self.computeLimit(size, limit)
return elided, self.readMemory(data, 2 * shown) 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) data, size, alloc = self.qArrayDataHelper(addr)
if alloc != 0: if alloc != 0:
self.check(0 <= size and size <= alloc and alloc <= 100 * 1000 * 1000) 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))) return self.hexencode(bytes(self.readRawMemory(addr, size)))
def encodeByteArray(self, value, limit=0): def encodeByteArray(self, value, limit=0):
elided, data = self.encodeByteArrayHelper(self.extractPointer(value), limit) elided, data = self.encodeByteArrayHelper(value, limit)
return data return data
def qArrayData(self, value): def qArrayData(self, value):
return self.qArrayDataHelper(self.extractPointer(value)) return self.qArrayDataHelper(self.extractPointer(value))
def putByteArrayValue(self, value): def putByteArrayValue(self, value):
elided, data = self.encodeByteArrayHelper( elided, data = self.encodeByteArrayHelper(value, self.displayStringLimit)
self.extractPointer(value), self.displayStringLimit)
self.putValue(data, 'latin1', elided=elided) self.putValue(data, 'latin1', elided=elided)
def encodeString(self, value, limit=0): def encodeString(self, value, limit=0):

View File

@@ -72,7 +72,7 @@ def qdump__QByteArray(d, value):
elided, shown = d.computeLimit(size, d.displayStringLimit) elided, shown = d.computeLimit(size, d.displayStringLimit)
p = d.readMemory(data, shown) p = d.readMemory(data, shown)
else: else:
elided, p = d.encodeByteArrayHelper(d.extractPointer(value), d.displayStringLimit) elided, p = d.encodeByteArrayHelper(value, d.displayStringLimit)
displayFormat = d.currentItemFormat() displayFormat = d.currentItemFormat()
if displayFormat == DisplayFormat.Automatic or displayFormat == DisplayFormat.Latin1String: if displayFormat == DisplayFormat.Automatic or displayFormat == DisplayFormat.Latin1String:
@@ -380,7 +380,7 @@ def qdump__QDateTime(d, value):
tz = '' tz = ''
else: else:
idBase = tzp + 2 * d.ptrSize() # [QSharedData] + [vptr] 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), d.putValue('%s/%s/%s/%s/%s/%s' % (msecs, spec, offset, tz, status, 0),
'datetimeinternal') 'datetimeinternal')
else: else: