diff options
author | hjk <hjk@theqtcompany.com> | 2016-07-29 16:31:14 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2016-08-01 10:45:33 +0000 |
commit | 4c4698917e11d4d2e10a0282592cbcb2b1061590 (patch) | |
tree | a193b62c82f2222880f4c5b16bcdd8c2f6d29159 /share | |
parent | 7b1a1305dbd0d77b6aa1502a6cf746866adba92e (diff) | |
download | qt-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.py | 16 |
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") |