forked from qt-creator/qt-creator
Debugger: Fix endless loop when stopping without winXXinterrupt.exe
Change-Id: Id6f636eaca6ed04cd43a59713487cf8e4c80f1ab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
@@ -1159,19 +1159,20 @@ void CdbEngine::interruptInferior()
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "CdbEngine::interruptInferior()" << stateName(state());
|
qDebug() << "CdbEngine::interruptInferior()" << stateName(state());
|
||||||
|
|
||||||
bool ok = false;
|
if (!canInterruptInferior()) {
|
||||||
if (!canInterruptInferior())
|
// Restore running state if inferior can't be stoped.
|
||||||
showMessage(tr("Interrupting is not possible in remote sessions."), LogError);
|
showMessage(tr("Interrupting is not possible in remote sessions."), LogError);
|
||||||
else
|
|
||||||
ok = doInterruptInferior(NoSpecialStop);
|
|
||||||
// Restore running state if stop failed.
|
|
||||||
if (!ok) {
|
|
||||||
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorStopOk")
|
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorStopOk")
|
||||||
notifyInferiorStopOk();
|
notifyInferiorStopOk();
|
||||||
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunRequested")
|
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunRequested")
|
||||||
notifyInferiorRunRequested();
|
notifyInferiorRunRequested();
|
||||||
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunOk")
|
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorRunOk")
|
||||||
notifyInferiorRunOk();
|
notifyInferiorRunOk();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!doInterruptInferior(NoSpecialStop)) {
|
||||||
|
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyInferiorStopFailed")
|
||||||
|
notifyInferiorStopFailed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user