forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/3.0'
This commit is contained in:
@@ -1589,7 +1589,7 @@ class Dumper(DumperBase):
|
||||
result += ']'
|
||||
return result
|
||||
|
||||
def threadname(self, maximalStackDepth):
|
||||
def threadname(self, maximalStackDepth, objectPrivateType):
|
||||
e = gdb.selected_frame()
|
||||
out = ""
|
||||
ns = self.qtNamespace()
|
||||
@@ -1604,8 +1604,7 @@ class Dumper(DumperBase):
|
||||
or e.name() == "_ZN14QThreadPrivate5startEPv@4":
|
||||
try:
|
||||
thrptr = e.read_var("thr").dereference()
|
||||
obtype = self.lookupType(ns + "QObjectPrivate").pointer()
|
||||
d_ptr = thrptr["d_ptr"]["d"].cast(obtype).dereference()
|
||||
d_ptr = thrptr["d_ptr"]["d"].cast(objectPrivateType).dereference()
|
||||
try:
|
||||
objectName = d_ptr["objectName"]
|
||||
except: # Qt 5
|
||||
@@ -1635,10 +1634,11 @@ class Dumper(DumperBase):
|
||||
oldthread = gdb.selected_thread()
|
||||
if oldthread:
|
||||
try:
|
||||
objectPrivateType = gdb.lookup_type(ns + "QObjectPrivate").pointer()
|
||||
inferior = self.selectedInferior()
|
||||
for thread in inferior.threads():
|
||||
thread.switch()
|
||||
out += self.threadname(maximalStackDepth)
|
||||
out += self.threadname(maximalStackDepth, objectPrivateType)
|
||||
except:
|
||||
pass
|
||||
oldthread.switch()
|
||||
|
||||
Reference in New Issue
Block a user