diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 0f3cb1b6198..1b07c107595 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -433,14 +433,14 @@ class DumperBase: data = self.extractBlob(addr, size).toBytes() return self.hexencode(data) - def encodeByteArray(self, value): - return self.encodeByteArrayHelper(self.extractPointer(value)) + def encodeByteArray(self, value, limit = 0): + return self.encodeByteArrayHelper(self.extractPointer(value), limit) def byteArrayData(self, value): return self.byteArrayDataHelper(self.extractPointer(value)) def putByteArrayValue(self, value): - return self.putValue(self.encodeByteArray(value), Hex2EncodedLatin1) + return self.putValue(self.encodeByteArray(value, self.stringCutOff), Hex2EncodedLatin1) def putByteArrayValueByAddress(self, addr): self.putValue(self.encodeByteArrayHelper(self.extractPointer(addr)), @@ -450,8 +450,8 @@ class DumperBase: self.putValue(self.encodeStringHelper(self.extractPointer(addr)), Hex4EncodedLittleEndian) - def encodeString(self, value): - return self.encodeStringHelper(self.extractPointer(value)) + def encodeString(self, value, limit = 0): + return self.encodeStringHelper(self.extractPointer(value), limit) def stringData(self, value): return self.byteArrayDataHelper(self.extractPointer(value)) @@ -485,7 +485,7 @@ class DumperBase: return inner.strip() def putStringValue(self, value): - return self.putValue(self.encodeString(value), Hex4EncodedLittleEndian) + return self.putValue(self.encodeString(value, self.stringCutOff), Hex4EncodedLittleEndian) def putAddressItem(self, name, value, type = ""): with SubItem(self, name): diff --git a/share/qtcreator/debugger/stdtypes.py b/share/qtcreator/debugger/stdtypes.py index 099f4184e4d..c1cdc9737ef 100644 --- a/share/qtcreator/debugger/stdtypes.py +++ b/share/qtcreator/debugger/stdtypes.py @@ -430,6 +430,8 @@ def qdump__std__stringHelper1__QNX(d, value, charSize): def qdump_stringHelper(d, data, size, charSize): cutoff = min(size, d.stringCutOff) mem = d.readMemory(data, cutoff) + if size > d.stringCutOff: + mem += "2e2e2e" if charSize == 1: encodingType = Hex2EncodedLatin1 displayType = DisplayLatin1String