forked from qt-creator/qt-creator
Debugger: Avoid looking up qt symbols globally to get the qt namespace
This can get very expensive for targets that have a lot or big modules, but are not linked against Qt. On the downside we might not be able to identify Qt namespaces in static builds. Task-number: QTCREATORBUG-18287 Change-Id: I90e0c4afcde17fd81d49017e828ce59f0abe9b5c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -298,16 +298,16 @@ class Dumper(DumperBase):
|
||||
coreModuleName = self.qtCoreModuleName()
|
||||
if coreModuleName is not None:
|
||||
qstrdupSymbolName = '%s!%s' % (coreModuleName, qstrdupSymbolName)
|
||||
resolved = cdbext.resolveSymbol(qstrdupSymbolName)
|
||||
if resolved:
|
||||
name = resolved[0].split('!')[1]
|
||||
namespaceIndex = name.find('::')
|
||||
if namespaceIndex > 0:
|
||||
namespace = name[:namespaceIndex + 2]
|
||||
resolved = cdbext.resolveSymbol(qstrdupSymbolName)
|
||||
if resolved:
|
||||
name = resolved[0].split('!')[1]
|
||||
namespaceIndex = name.find('::')
|
||||
if namespaceIndex > 0:
|
||||
namespace = name[:namespaceIndex + 2]
|
||||
self.qtCustomEventFunc = self.parseAndEvaluate(
|
||||
'%s!%sQObject::customEvent' %
|
||||
(self.qtCoreModuleName(), namespace)).address()
|
||||
self.qtNamespace = lambda: namespace
|
||||
self.qtCustomEventFunc = self.parseAndEvaluate(
|
||||
'%s!%sQObject::customEvent' %
|
||||
(self.qtCoreModuleName(), namespace)).address()
|
||||
return namespace
|
||||
|
||||
def qtVersion(self):
|
||||
|
Reference in New Issue
Block a user