From 2f67d75ca411ab5d4c95dde59e2f0d77a1f80e41 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 12 Feb 2021 12:50:23 +0100 Subject: 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 --- share/qtcreator/debugger/lldbbridge.py | 5 +++++ 1 file changed, 5 insertions(+) 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: -- cgit v1.2.3