From cc469f6466c82e34d0ceeaa6c72d4e4a8b86ad7c Mon Sep 17 00:00:00 2001 From: hjk <hjk@theqtcompany.com> Date: Thu, 26 Mar 2015 14:22:33 +0100 Subject: [PATCH] Debugger: Robustify extraction of integral values using LLDB Change-Id: Ieabad21e5e00bef12eb51046235890840b5a77a1 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> --- share/qtcreator/debugger/lldbbridge.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index f8b1f930d9d..c11464152bd 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -509,13 +509,16 @@ class Dumper(DumperBase): return int(value.GetLoadAddress()) def extractInt(self, address): - return int(self.createValue(address, self.intType())) + error = SBError() + return int(self.process.ReadUnsignedFromMemory(address, 4, error)) def extractInt64(self, address): - return int(self.createValue(address, self.int64Type())) + error = SBError() + return int(self.process.ReadUnsignedFromMemory(address, 8, error)) def extractByte(self, address): - return int(self.createValue(address, self.charType())) & 0xFF + error = SBError() + return int(self.process.ReadUnsignedFromMemory(address, 1, error) & 0xFF) def handleCommand(self, command): result = lldb.SBCommandReturnObject() -- GitLab