diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index df1f57dc1c4..a421f829330 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -2068,6 +2068,13 @@ class Tester(Dumper): lldb.SBDebugger.Destroy(self.debugger) +if 'QT_CREATOR_LLDB_PROCESS' in os.environ: + # Initialize Qt Creator dumper + try: + theDumper = Dumper() + except Exception as error: + print('@\nstate="enginesetupfailed",error="{}"@\n'.format(error)) + # ------------------------------ For use in LLDB ------------------------------ @@ -2437,6 +2444,9 @@ class SyntheticChildrenProvider(SummaryProvider): def __lldb_init_module(debugger, internal_dict): # Module is being imported in an LLDB session + if 'QT_CREATOR_LLDB_PROCESS' in os.environ: + # Let Qt Creator take care of its own dumper + return if not __name__ == 'qt': # Make available under global 'qt' name for consistency, @@ -2471,10 +2481,3 @@ def __lldb_init_module(debugger, internal_dict): % ("qt.SyntheticChildrenProvider", type_category)) debugger.HandleCommand('type category enable %s' % type_category) - - -if __name__ == "lldbbridge": - try: - theDumper = Dumper() - except Exception as error: - print('@\nstate="enginesetupfailed",error="{}"@\n'.format(error)) diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 2d90f1e76c9..9d1717fff54 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -179,6 +179,7 @@ void LldbEngine::setupEngine() showMessage("STARTING LLDB: " + lldbCmd.toUserOutput()); Environment environment = runParameters().debugger.environment; + environment.appendOrSet("QT_CREATOR_LLDB_PROCESS", "1"); environment.appendOrSet("PYTHONUNBUFFERED", "1"); // avoid flushing problem on macOS DebuggerItem::addAndroidLldbPythonEnv(lldbCmd, environment);