forked from qt-creator/qt-creator
Debugger: Avoid looking up function signatures
Looking up function signatures ends up in massive stderr output which blocks the debugger for ages, so omit them as long we are not sure where they originate. Task-number: QTCREATORBUG-25185 Task-number: QTCREATORBUG-25217 Change-Id: I9b022d2194a6cb61651ee0648be526fc94a02da9 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -787,6 +787,8 @@ class Dumper(DumperBase):
|
|||||||
def removeTypePrefix(self, name):
|
def removeTypePrefix(self, name):
|
||||||
return re.sub('^(struct|class|union|enum|typedef) ', '', name)
|
return re.sub('^(struct|class|union|enum|typedef) ', '', name)
|
||||||
|
|
||||||
|
__funcSignature_Regex__ = re.compile(r'^.+\(.*\)')
|
||||||
|
|
||||||
def lookupNativeType(self, name):
|
def lookupNativeType(self, name):
|
||||||
#DumperBase.warn('LOOKUP TYPE NAME: %s' % name)
|
#DumperBase.warn('LOOKUP TYPE NAME: %s' % name)
|
||||||
typeobj = self.typeCache.get(name)
|
typeobj = self.typeCache.get(name)
|
||||||
@@ -807,6 +809,9 @@ class Dumper(DumperBase):
|
|||||||
# Note that specifying a prefix like enum or typedef or class will make the call fail to
|
# Note that specifying a prefix like enum or typedef or class will make the call fail to
|
||||||
# find the type, thus the prefix is stripped.
|
# find the type, thus the prefix is stripped.
|
||||||
nonPrefixedName = self.canonicalTypeName(self.removeTypePrefix(name))
|
nonPrefixedName = self.canonicalTypeName(self.removeTypePrefix(name))
|
||||||
|
if __funcSignature_Regex__.match(nonPrefixedName) is not None:
|
||||||
|
return lldb.SBType()
|
||||||
|
|
||||||
typeobjlist = self.target.FindTypes(nonPrefixedName)
|
typeobjlist = self.target.FindTypes(nonPrefixedName)
|
||||||
if typeobjlist.IsValid():
|
if typeobjlist.IsValid():
|
||||||
for typeobj in typeobjlist:
|
for typeobj in typeobjlist:
|
||||||
|
Reference in New Issue
Block a user