summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-07-29 16:31:14 +0200
committerhjk <hjk@qt.io>2016-08-01 10:45:33 +0000
commit4c4698917e11d4d2e10a0282592cbcb2b1061590 (patch)
treea193b62c82f2222880f4c5b16bcdd8c2f6d29159 /share
parent7b1a1305dbd0d77b6aa1502a6cf746866adba92e (diff)
downloadqt-creator-4c4698917e11d4d2e10a0282592cbcb2b1061590.tar.gz
Debugger: Robustify QObject detection
Change-Id: I24aa26134e674725c84f511ac610dc06a76a775d Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/dumper.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 90397b930b..dfb4ca26aa 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -1301,8 +1301,12 @@ class DumperBase:
return p > 100000 and (p & 0x7 == 0) and (p < 0x7fffffffffff)
def couldBeQObject():
- (vtablePtr, dd) \
- = self.extractStruct('PP', objectPtr, 2 * ptrSize)
+ try:
+ (vtablePtr, dd) \
+ = self.extractStruct('PP', objectPtr, 2 * ptrSize)
+ except:
+ self.bump("nostruct-1")
+ return False
if not canBePointer(vtablePtr):
self.bump("vtable")
return False
@@ -1310,8 +1314,12 @@ class DumperBase:
self.bump("d_d_ptr")
return False
- (dvtablePtr, qptr, parentPtr, childrenDPtr, flags) \
- = self.extractStruct('PPPPI', dd, 4 * ptrSize + 4)
+ try:
+ (dvtablePtr, qptr, parentPtr, childrenDPtr, flags) \
+ = self.extractStruct('PPPPI', dd, 4 * ptrSize + 4)
+ except:
+ self.bump("nostruct-2")
+ return False
#warn("STRUCT DD: %s %s" % (self.currentIName, x))
if not canBePointer(dvtablePtr):
self.bump("dvtable")