aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2021-02-12 12:50:23 +0100
committerChristian Stenger <christian.stenger@qt.io>2021-02-22 06:21:39 +0000
commit2f67d75ca411ab5d4c95dde59e2f0d77a1f80e41 (patch)
tree7480c5ac421d167f21a78bb51f147177129bb3ac
parent015080878c772c2712ff043a9239ebaaf8bd9971 (diff)
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>
-rw-r--r--share/qtcreator/debugger/lldbbridge.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 9b921f6906..d68c6928bf 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -787,6 +787,8 @@ class Dumper(DumperBase):
def removeTypePrefix(self, name):
return re.sub('^(struct|class|union|enum|typedef) ', '', name)
+ __funcSignature_Regex__ = re.compile(r'^.+\(.*\)')
+
def lookupNativeType(self, name):
#DumperBase.warn('LOOKUP TYPE NAME: %s' % 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
# find the type, thus the prefix is stripped.
nonPrefixedName = self.canonicalTypeName(self.removeTypePrefix(name))
+ if __funcSignature_Regex__.match(nonPrefixedName) is not None:
+ return lldb.SBType()
+
typeobjlist = self.target.FindTypes(nonPrefixedName)
if typeobjlist.IsValid():
for typeobj in typeobjlist: