Debugger: Move some code around

Parts of the Debugger engine rampdown mechanisms are
essentially one code path now, don't distribute that
over four classes.

Change-Id: I4c6edbc0db94d1f658b0c1d9c154552f286db876
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2017-10-19 14:18:26 +02:00
parent 5dfd48331f
commit 597488bef4
5 changed files with 20 additions and 49 deletions

View File

@@ -246,10 +246,18 @@ public:
m_engine->setState(DebuggerFinished);
resetLocation();
if (isMasterEngine()) {
m_engine->showMessage("NOTE: FINISH DEBUGGER");
QTC_ASSERT(state() == DebuggerFinished, qDebug() << m_engine << state());
if (isMasterEngine() && m_runTool)
m_runTool->debuggingFinished();
showMessage(tr("Debugging has finished"), NormalMessageFormat);
if (m_runTool) {
m_progress.setProgressValue(1000);
m_progress.reportFinished();
m_modulesHandler.removeAll();
m_stackHandler.removeAll();
m_threadsHandler.removeAll();
m_watchHandler.cleanup();
Internal::runControlFinished(m_runTool);
m_runTool->reportStopped();
m_runTool.clear();
}
}
}
@@ -556,29 +564,6 @@ void DebuggerEngine::gotoLocation(const Location &loc)
d->m_locationMark.reset(new LocationMark(this, file, line));
}
// Called from RunControl.
void DebuggerEngine::handleStartFailed()
{
showMessage("HANDLE RUNCONTROL START FAILED");
d->m_runTool.clear();
d->m_progress.setProgressValue(900);
d->m_progress.reportCanceled();
d->m_progress.reportFinished();
}
// Called from RunControl.
void DebuggerEngine::handleFinished()
{
showMessage("HANDLE RUNCONTROL FINISHED");
d->m_runTool.clear();
d->m_progress.setProgressValue(1000);
d->m_progress.reportFinished();
modulesHandler()->removeAll();
stackHandler()->removeAll();
threadsHandler()->removeAll();
watchHandler()->cleanup();
}
const DebuggerRunParameters &DebuggerEngine::runParameters() const
{
return runTool()->runParameters();
@@ -679,8 +664,14 @@ void DebuggerEngine::notifyEngineSetupFailed()
showMessage("NOTE: ENGINE SETUP FAILED");
QTC_ASSERT(state() == EngineSetupRequested, qDebug() << this << state());
setState(EngineSetupFailed);
if (isMasterEngine() && runTool())
runTool()->startFailed();
if (isMasterEngine() && runTool()) {
showMessage(tr("Debugging has failed"), NormalMessageFormat);
d->m_runTool.clear();
d->m_progress.setProgressValue(900);
d->m_progress.reportCanceled();
d->m_progress.reportFinished();
}
setState(DebuggerFinished);
}