forked from qt-creator/qt-creator
Debugger: Pass interrupt request more directly to engines
De-virtualize requestInterruptInferior() and let always the master engine react to the request. interruptInferior() diverts to the active slave in case of the combined engine. Change-Id: I5d62cf9379c8a452132827897a9ac51e4027f595 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -233,7 +233,6 @@ public:
|
||||
void doRunEngine();
|
||||
void doShutdownEngine();
|
||||
void doShutdownInferior();
|
||||
void doInterruptInferior();
|
||||
|
||||
void reloadDisassembly()
|
||||
{
|
||||
@@ -856,16 +855,6 @@ void DebuggerEngine::notifyInferiorStopFailed()
|
||||
d->doShutdownEngine();
|
||||
}
|
||||
|
||||
void DebuggerEnginePrivate::doInterruptInferior()
|
||||
{
|
||||
//QTC_ASSERT(isMasterEngine(), return);
|
||||
QTC_ASSERT(state() == InferiorRunOk, qDebug() << m_engine << state());
|
||||
m_engine->setState(InferiorStopRequested);
|
||||
m_engine->showMessage("CALL: INTERRUPT INFERIOR");
|
||||
m_engine->showStatusMessage(tr("Attempting to interrupt."));
|
||||
m_engine->interruptInferior();
|
||||
}
|
||||
|
||||
void DebuggerEnginePrivate::doShutdownInferior()
|
||||
{
|
||||
m_engine->setState(InferiorShutdownRequested);
|
||||
@@ -1237,7 +1226,9 @@ void DebuggerEngine::quitDebugger()
|
||||
d->doShutdownInferior();
|
||||
break;
|
||||
case InferiorRunOk:
|
||||
d->doInterruptInferior();
|
||||
setState(InferiorStopRequested);
|
||||
showStatusMessage(tr("Attempting to interrupt."));
|
||||
interruptInferior();
|
||||
break;
|
||||
case EngineSetupRequested:
|
||||
notifyEngineSetupFailed();
|
||||
@@ -1283,7 +1274,12 @@ void DebuggerEngine::abortDebugger()
|
||||
|
||||
void DebuggerEngine::requestInterruptInferior()
|
||||
{
|
||||
d->doInterruptInferior();
|
||||
QTC_CHECK(isMasterEngine());
|
||||
QTC_ASSERT(state() == InferiorRunOk, qDebug() << this << state());
|
||||
setState(InferiorStopRequested);
|
||||
showMessage("CALL: INTERRUPT INFERIOR");
|
||||
showStatusMessage(tr("Attempting to interrupt."));
|
||||
interruptInferior();
|
||||
}
|
||||
|
||||
void DebuggerEngine::progressPing()
|
||||
|
||||
Reference in New Issue
Block a user