diff options
author | Christian Stenger <christian.stenger@qt.io> | 2016-12-02 13:07:58 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2016-12-02 14:44:08 +0000 |
commit | 983936f9750ee35297ce75492f144812284feb2d (patch) | |
tree | 9864e8cc85e2c1d68280d9f767e72d89228e5ca3 | |
parent | dc2724a3f72afbfde272b1640b9eea1a71cf8964 (diff) | |
download | qt-creator-983936f9750ee35297ce75492f144812284feb2d.tar.gz |
Dumper: Fix QObject detection when using procedure linkage tables
Change-Id: I3ac9889b822cb30d2ccdb6a7e2452e753cc3f2df
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | share/qtcreator/debugger/dumper.py | 3 | ||||
-rw-r--r-- | share/qtcreator/debugger/gdbbridge.py | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 35abe174a7..cfeb8f652a 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -254,6 +254,7 @@ class DumperBase: self.typesToReport = {} self.qtNamespaceToReport = None self.qtCustomEventFunc = 0 + self.qtCustomEventPltFunc = 0 self.qtPropertyFunc = 0 self.passExceptions = False self.isTesting = False @@ -1472,7 +1473,7 @@ class DumperBase: self.bump('nostruct-3') return False - return self.qtCustomEventFunc == customEventFunc + return customEventFunc in (self.qtCustomEventFunc, self.qtCustomEventPltFunc) def extractQObjectProperty(objectPtr): vtablePtr = self.extractPointer(objectPtr) diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index 43e234fa4d..ae3336569d 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -1012,7 +1012,7 @@ class Dumper(DumperBase): def findSymbol(self, symbolName): try: - return toInteger(gdb.parse_and_eval('(size_t)&%s' % symbolName)) + return toInteger(gdb.parse_and_eval("(size_t)&'%s'" % symbolName)) except: return 0 @@ -1054,6 +1054,12 @@ class Dumper(DumperBase): sym = '_ZN7QObject11customEventEP6QEvent' self.qtCustomEventFunc = self.findSymbol(sym) + if lenns: + sym = '_ZN%s7QObject11customEventEPNS_6QEventE@plt' % strns + else: + sym = '_ZN7QObject11customEventEP6QEvent@plt' + self.qtCustomEventPltFunc = self.findSymbol(sym) + sym = '_ZNK7%sQObject8propertyEPKc' % strns self.qtPropertyFunc = self.findSymbol(sym) |