summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2016-12-02 13:07:58 +0100
committerhjk <hjk@qt.io>2016-12-02 14:44:08 +0000
commit983936f9750ee35297ce75492f144812284feb2d (patch)
tree9864e8cc85e2c1d68280d9f767e72d89228e5ca3
parentdc2724a3f72afbfde272b1640b9eea1a71cf8964 (diff)
downloadqt-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.py3
-rw-r--r--share/qtcreator/debugger/gdbbridge.py8
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)