diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 6a959beba4e..e3602fba712 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -708,7 +709,7 @@ void CdbEngine::processFinished() elapsedLogTime(), qPrintable(stateName(state())), m_process.exitStatus(), m_process.exitCode()); - notifyDebuggerProcessFinished(m_process.exitCode(), m_process.exitStatus(), "CDB"); + notifyDebuggerProcessFinished(m_process.resultData(), "CDB"); } void CdbEngine::detachDebugger() diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index e95ee836eae..884debdff44 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -1789,14 +1790,14 @@ void DebuggerEngine::showMessage(const QString &msg, int channel, int timeout) c } } -void DebuggerEngine::notifyDebuggerProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus, const QString &backendName) +void DebuggerEngine::notifyDebuggerProcessFinished(const ProcessResultData &result, + const QString &backendName) { showMessage(QString("%1 PROCESS FINISHED, status %2, exit code %3 (0x%4)") .arg(backendName) - .arg(exitStatus) - .arg(exitCode) - .arg(QString::number(exitCode, 16))); + .arg(result.m_exitStatus) + .arg(result.m_exitCode) + .arg(QString::number(result.m_exitCode, 16))); switch (state()) { case DebuggerFinished: @@ -1816,9 +1817,9 @@ void DebuggerEngine::notifyDebuggerProcessFinished(int exitCode, default: { // Initiate shutdown sequence notifyInferiorIll(); - const QString msg = exitStatus == QProcess::CrashExit ? + const QString msg = result.m_exitStatus == QProcess::CrashExit ? tr("The %1 process terminated.") : - tr("The %2 process terminated unexpectedly (exit code %1).").arg(exitCode); + tr("The %2 process terminated unexpectedly (exit code %1).").arg(result.m_exitCode); AsynchronousMessageBox::critical(tr("Unexpected %1 Exit").arg(backendName), msg.arg(backendName)); break; diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 4205384cd99..64d1933201d 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -27,18 +27,17 @@ #include "debugger_global.h" #include "debuggerconstants.h" -#include "debuggeritem.h" #include "debuggerprotocol.h" #include "breakhandler.h" +#include "projectexplorer/abi.h" #include "threadshandler.h" #include #include #include #include -#include -#include +#include QT_BEGIN_NAMESPACE class QDebug; @@ -50,6 +49,7 @@ namespace Core { class IOptionsPage; } namespace Utils { class MacroExpander; class Perspective; +class ProcessResultData; } // Utils namespace Debugger { @@ -509,7 +509,7 @@ public: protected: void setDebuggerName(const QString &name); - void notifyDebuggerProcessFinished(int exitCode, QProcess::ExitStatus exitStatus, + void notifyDebuggerProcessFinished(const Utils::ProcessResultData &resultData, const QString &backendName); virtual void setState(DebuggerState state, bool forced = false); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 229a1658a0b..bf62f52c829 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -61,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -4095,7 +4096,7 @@ void GdbEngine::handleGdbDone() if (m_commandTimer.isActive()) m_commandTimer.stop(); - notifyDebuggerProcessFinished(m_gdbProc.exitCode(), m_gdbProc.exitStatus(), "GDB"); + notifyDebuggerProcessFinished(m_gdbProc.resultData(), "GDB"); } void GdbEngine::abortDebuggerProcess() diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 5d7ed986588..f870ba78f40 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include +#include #include #include @@ -832,7 +834,7 @@ QString LldbEngine::errorMessage(QProcess::ProcessError error) const void LldbEngine::handleLldbFinished() { - notifyDebuggerProcessFinished(m_lldbProc.exitCode(), m_lldbProc.exitStatus(), "LLDB"); + notifyDebuggerProcessFinished(m_lldbProc.resultData(), "LLDB"); } void LldbEngine::readLldbStandardError()