diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 35022865c9d38cf4884f05d82efc58dabc190579..1b8ec1823b6fb1f783d1c35b8acf43fb837e29d6 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1336,6 +1336,17 @@ void GdbEngine::handleStop1(const GdbResponse &response) void GdbEngine::handleStop1(const GdbMi &data) { + QByteArray reason = data.findChild("reason").data(); + + if (m_gdbAdapter->isTrkAdapter() + && reason == "signal-received" + && data.findChild("signal-name").data() == "SIGTRAP") { + // Caused by "library load" message. + debugMessage(_("INTERNAL CONTINUE")); + continueInferiorInternal(); + return; + } + if (m_modulesListOutdated) reloadModulesInternal(); // This is for display only if (m_sourcesListOutdated && theDebuggerBoolSetting(UsePreciseBreakpoints)) @@ -1350,7 +1361,6 @@ void GdbEngine::handleStop1(const GdbMi &data) && manager()->breakHandler()->size() > 0) reloadBreakListInternal(); - QByteArray reason = data.findChild("reason").data(); if (reason == "breakpoint-hit") { showStatusMessage(tr("Stopped at breakpoint.")); } else {