aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2021-03-04 12:52:22 +0100
committerChristian Stenger <christian.stenger@qt.io>2021-03-09 08:06:47 +0000
commit33cafa0dcf5a931482f1da47b4b740ce0350ea2f (patch)
tree025c24973d84e120712d3d6072b0191139341e4e
parent28f53a9040a286b5892c619d3b3adbf9165d1358 (diff)
LLDB: Drop secondary lookup of native types
Although already tried to lookup a native type with an lldb internal mechanism we still tried to do it "manually" again. This secondary approach was needed at some point when lldb had no integrated way to lookup a type inside all modules. Lookups done manually will not provide a better result than the lldb internal one. The error output generated with this blocks debugging which makes QC unusable at this state. So, remove the secondary lookup completely. Fixes: QTCREATORBUG-25185 Fixes: QTCREATORBUG-25217 Change-Id: Ibd8a125a89633c611bf750e0f1759c639717e1d2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: hjk <hjk@qt.io>
-rw-r--r--share/qtcreator/debugger/lldbbridge.py38
1 files changed, 1 insertions, 37 deletions
diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index ababe4a362..022d766fbf 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -844,39 +844,7 @@ class Dumper(DumperBase):
if typeobj is not None:
return typeobj
- return self.lookupNativeTypeInAllModules(name)
-
- def lookupNativeTypeInAllModules(self, name):
- needle = self.canonicalTypeName(name)
- #DumperBase.warn('NEEDLE: %s ' % needle)
- DumperBase.warn('Searching for type %s across all target modules, this could be very slow' % name)
- for i in range(self.target.GetNumModules()):
- module = self.target.GetModuleAtIndex(i)
- # SBModule.GetType is new somewhere after early 300.x
- # So this may fail.
- for t in module.GetTypes():
- n = self.canonicalTypeName(t.GetName())
- #DumperBase.warn('N: %s' % n)
- if n == needle:
- #DumperBase.warn('FOUND TYPE DIRECT 2: %s ' % t)
- self.typeCache[name] = t
- return t
- if n == needle + '*':
- res = t.GetPointeeType()
- self.typeCache[name] = res
- x = self.fromNativeType(res) # Register under both names
- self.registerTypeAlias(x.typeId, name)
- #DumperBase.warn('FOUND TYPE BY POINTER: %s ' % res.name)
- return res
- if n == needle + '&':
- res = t.GetDereferencedType().GetUnqualifiedType()
- self.typeCache[name] = res
- x = self.fromNativeType(res) # Register under both names
- self.registerTypeAlias(x.typeId, name)
- #DumperBase.warn('FOUND TYPE BY REFERENCE: %s ' % res.name)
- return res
- #DumperBase.warn('NOT FOUND: %s ' % needle)
- return None
+ return lldb.SBType()
def setupInferior(self, args):
""" Set up SBTarget instance """
@@ -2086,10 +2054,6 @@ class SummaryDumper(Dumper, LogMixin):
def report(self, stuff):
return # Don't mess up lldb output
- def lookupNativeTypeInAllModules(self, name):
- self.warn('Failed to resolve type %s' % name)
- return None
-
def dump_summary(self, valobj, expanded=False):
try:
from pygdbmi import gdbmiparser