diff options
Diffstat (limited to 'src/plugins/debugger/lldb/lldbengine.cpp')
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 61d9012ccb..03c6bdf7fa 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -314,6 +314,11 @@ void LldbEngine::setupEngine() const bool success = response.data["success"].toInt(); if (success) { BreakpointManager::claimBreakpointsForEngine(this); + // Some extra roundtrip to make sure we end up behind all commands triggered + // from claimBreakpointsForEngine(). + DebuggerCommand cmd3("executeRoundtrip"); + cmd3.callback = [this](const DebuggerResponse &) { notifyEngineSetupOk(); }; + runCommand(cmd3); } else { notifyEngineSetupFailed(); } @@ -402,6 +407,8 @@ void LldbEngine::handleResponse(const QString &response) notifyInferiorPid(item.toProcessHandle()); else if (name == "breakpointmodified") handleInterpreterBreakpointModified(item); + else if (name == "bridgemessage") + showMessage(item["msg"].data(), item["channel"].toInt()); } } @@ -673,7 +680,7 @@ void LldbEngine::requestModuleSymbols(const QString &moduleName) { DebuggerCommand cmd("fetchSymbols"); cmd.arg("module", moduleName); - cmd.callback = [this, moduleName](const DebuggerResponse &response) { + cmd.callback = [moduleName](const DebuggerResponse &response) { const GdbMi &symbols = response.data["symbols"]; QString moduleName = response.data["module"].data(); Symbols syms; @@ -903,8 +910,6 @@ void LldbEngine::handleStateNotification(const GdbMi &item) notifyInferiorStopFailed(); else if (newState == "inferiorill") notifyInferiorIll(); - else if (newState == "enginesetupok") - notifyEngineSetupOk(); else if (newState == "enginesetupfailed") { Core::AsynchronousMessageBox::critical(adapterStartFailed(), item["error"].data()); |