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)
|
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):
|
||||||
|
@@ -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:
|
||||||
|
Reference in New Issue
Block a user