forked from qt-creator/qt-creator
Debugger: Drop base DebuggerEngine::runEngine()
The lines between engine setup and running have always been blurry, so it looks more and more unnatural to enforce this in the architecture. Remove the runEngine() call from the end of notifySetupEngineOk, and do it on the user side. Change-Id: I3a5e158e8b3fe9b0a288d064f798e24b2ac47f86 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -530,6 +530,7 @@ void CdbEngine::handleInitialSessionIdle()
|
||||
if (response.resultClass == ResultDone || runParameters().startMode == AttachCore) {
|
||||
STATE_DEBUG(state(), Q_FUNC_INFO, __LINE__, "notifyEngineSetupOk")
|
||||
notifyEngineSetupOk();
|
||||
runEngine();
|
||||
} else {
|
||||
showMessage(QString("Failed to determine inferior pid: %1").
|
||||
arg(response.data["msg"].data()), LogError);
|
||||
|
@@ -53,7 +53,7 @@ public:
|
||||
bool canHandleToolTip(const DebuggerToolTipContext &context) const override;
|
||||
|
||||
void setupEngine() override;
|
||||
void runEngine() override;
|
||||
void runEngine();
|
||||
void shutdownInferior() override;
|
||||
void shutdownEngine() override;
|
||||
void abortDebuggerProcess() override;
|
||||
|
@@ -1257,7 +1257,6 @@ void DebuggerEngine::notifyEngineSetupOk()
|
||||
setState(EngineRunRequested);
|
||||
showMessage("CALL: RUN ENGINE");
|
||||
d->m_progress.setProgressValue(300);
|
||||
runEngine();
|
||||
}
|
||||
|
||||
void DebuggerEngine::notifyEngineRunOkAndInferiorUnrunnable()
|
||||
|
@@ -508,7 +508,6 @@ protected:
|
||||
void notifyEngineIll();
|
||||
|
||||
virtual void setupEngine() = 0;
|
||||
virtual void runEngine() = 0;
|
||||
virtual void shutdownInferior() = 0;
|
||||
virtual void shutdownEngine() = 0;
|
||||
virtual void resetInferior() {}
|
||||
|
@@ -3916,6 +3916,7 @@ void GdbEngine::finishInferiorSetup()
|
||||
// and even if it fails (e.g. due to stripped binaries), continuing with
|
||||
// the start up is the best we can do.
|
||||
notifyEngineSetupOk();
|
||||
runEngine();
|
||||
}
|
||||
|
||||
void GdbEngine::handleDebugInfoLocation(const DebuggerResponse &response)
|
||||
@@ -4091,6 +4092,7 @@ void GdbEngine::setupInferior()
|
||||
if (rp.startMode == AttachToRemoteProcess) {
|
||||
|
||||
notifyEngineSetupOk();
|
||||
runEngine();
|
||||
|
||||
} else if (isAttachEngine()) {
|
||||
// Task 254674 does not want to remove them
|
||||
|
@@ -392,7 +392,7 @@ private: ////////// General Interface //////////
|
||||
bool isTermEngine() const;
|
||||
|
||||
void setupEngine() final;
|
||||
void runEngine() final;
|
||||
void runEngine();
|
||||
void shutdownEngine() final;
|
||||
|
||||
void interruptInferior2();
|
||||
|
@@ -324,7 +324,10 @@ void LldbEngine::setupEngine()
|
||||
// Some extra roundtrip to make sure we end up behind all commands triggered
|
||||
// from claimBreakpointsForEngine().
|
||||
DebuggerCommand cmd3("executeRoundtrip");
|
||||
cmd3.callback = [this](const DebuggerResponse &) { notifyEngineSetupOk(); };
|
||||
cmd3.callback = [this](const DebuggerResponse &) {
|
||||
notifyEngineSetupOk();
|
||||
runEngine();
|
||||
};
|
||||
runCommand(cmd3);
|
||||
} else {
|
||||
notifyEngineSetupFailed();
|
||||
|
@@ -65,7 +65,7 @@ private:
|
||||
void executeStepOver(bool byInstruction) override;
|
||||
|
||||
void setupEngine() override;
|
||||
void runEngine() override;
|
||||
void runEngine();
|
||||
void shutdownInferior() override;
|
||||
void shutdownEngine() override;
|
||||
void abortDebuggerProcess() override;
|
||||
|
@@ -149,12 +149,10 @@ void PdbEngine::setupEngine()
|
||||
notifyEngineSetupFailed();
|
||||
return;
|
||||
}
|
||||
notifyEngineSetupOk();
|
||||
}
|
||||
|
||||
void PdbEngine::runEngine()
|
||||
{
|
||||
notifyEngineSetupOk();
|
||||
QTC_ASSERT(state() == EngineRunRequested, qDebug() << state());
|
||||
|
||||
showStatusMessage(tr("Running requested..."), 5000);
|
||||
BreakpointManager::claimBreakpointsForEngine(this);
|
||||
notifyEngineRunAndInferiorStopOk();
|
||||
|
@@ -52,7 +52,6 @@ private:
|
||||
void executeStepOver(bool) override;
|
||||
|
||||
void setupEngine() override;
|
||||
void runEngine() override;
|
||||
void shutdownInferior() override;
|
||||
void shutdownEngine() override;
|
||||
|
||||
|
@@ -501,29 +501,6 @@ void QmlEngine::closeConnection()
|
||||
}
|
||||
}
|
||||
|
||||
void QmlEngine::runEngine()
|
||||
{
|
||||
// we won't get any debug output
|
||||
if (!terminal()) {
|
||||
d->retryOnConnectFail = true;
|
||||
d->automaticConnect = true;
|
||||
}
|
||||
|
||||
QTC_ASSERT(state() == EngineRunRequested, qDebug() << state());
|
||||
|
||||
if (isPrimaryEngine()) {
|
||||
// QML only.
|
||||
if (runParameters().startMode == AttachToRemoteServer)
|
||||
tryToConnect();
|
||||
else if (runParameters().startMode == AttachToRemoteProcess)
|
||||
beginConnection();
|
||||
else
|
||||
startApplicationLauncher();
|
||||
} else {
|
||||
tryToConnect();
|
||||
}
|
||||
}
|
||||
|
||||
void QmlEngine::startApplicationLauncher()
|
||||
{
|
||||
if (!d->applicationLauncher.isRunning()) {
|
||||
@@ -576,6 +553,26 @@ void QmlEngine::setupEngine()
|
||||
{
|
||||
notifyEngineSetupOk();
|
||||
|
||||
// we won't get any debug output
|
||||
if (!terminal()) {
|
||||
d->retryOnConnectFail = true;
|
||||
d->automaticConnect = true;
|
||||
}
|
||||
|
||||
QTC_ASSERT(state() == EngineRunRequested, qDebug() << state());
|
||||
|
||||
if (isPrimaryEngine()) {
|
||||
// QML only.
|
||||
if (runParameters().startMode == AttachToRemoteServer)
|
||||
tryToConnect();
|
||||
else if (runParameters().startMode == AttachToRemoteProcess)
|
||||
beginConnection();
|
||||
else
|
||||
startApplicationLauncher();
|
||||
} else {
|
||||
tryToConnect();
|
||||
}
|
||||
|
||||
if (d->automaticConnect)
|
||||
beginConnection();
|
||||
}
|
||||
|
@@ -78,7 +78,6 @@ private:
|
||||
void executeStepOut() override;
|
||||
|
||||
void setupEngine() override;
|
||||
void runEngine() override;
|
||||
void shutdownInferior() override;
|
||||
void shutdownEngine() override;
|
||||
|
||||
|
@@ -633,6 +633,7 @@ void UvscEngine::handleProjectClosed()
|
||||
showMessage("UVSC: ALL INITIALIZED SUCCESSFULLY.");
|
||||
|
||||
notifyEngineSetupOk();
|
||||
runEngine();
|
||||
}
|
||||
|
||||
void UvscEngine::handleUpdateLocation(quint64 address)
|
||||
|
@@ -40,7 +40,7 @@ public:
|
||||
explicit UvscEngine();
|
||||
|
||||
void setupEngine() final;
|
||||
void runEngine() final;
|
||||
void runEngine();
|
||||
void shutdownInferior() final;
|
||||
void shutdownEngine() final;
|
||||
|
||||
|
Reference in New Issue
Block a user