Debugger: Inline some handlers

Change-Id: I440a2c01859206331306eeb298aab3af6aad4909
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2025-01-13 19:36:48 +01:00
parent 4a619fec89
commit 0c89e5ac5e
2 changed files with 28 additions and 37 deletions

View File

@@ -361,10 +361,34 @@ void DebuggerRunTool::continueAfterDebugServerStart()
rc->initiateStop();
}, Qt::QueuedConnection);
connect(engine, &DebuggerEngine::requestRunControlStop, rc, &RunControl::initiateStop);
connect(engine, &DebuggerEngine::engineStarted,
this, [this, engine] { handleEngineStarted(engine); });
connect(engine, &DebuggerEngine::engineFinished,
this, [this, engine] { handleEngineFinished(engine); });
connect(engine, &DebuggerEngine::engineStarted, this, [this, engine] {
// Correct:
// if (--d->engineStartsNeeded == 0) {
// EngineManager::activateDebugMode();
// reportStarted();
// }
// Feels better, as the QML Engine might attach late or not at all.
if (engine == m_engines.first()) {
EngineManager::activateDebugMode();
reportStarted();
}
});
connect(engine, &DebuggerEngine::engineFinished, this, [this, engine] {
engine->prepareForRestart();
if (--d->engineStopsNeeded == 0) {
const QString cmd = m_runParameters.inferior().command.toUserOutput();
const QString msg = engine->runParameters().exitCode() // Main engine.
? Tr::tr("Debugging of %1 has finished with exit code %2.")
.arg(cmd)
.arg(*engine->runParameters().exitCode())
: Tr::tr("Debugging of %1 has finished.").arg(cmd);
appendMessage(msg, NormalMessageFormat);
reportStopped();
}
});
connect(engine, &DebuggerEngine::appendMessageRequested,
this, &DebuggerRunTool::appendMessage);
++d->engineStartsNeeded;
@@ -464,36 +488,6 @@ void DebuggerRunTool::stop()
Utils::reverseForeach(m_engines, [](DebuggerEngine *engine) { engine->quitDebugger(); });
}
void DebuggerRunTool::handleEngineStarted(DebuggerEngine *engine)
{
// Correct:
// if (--d->engineStartsNeeded == 0) {
// EngineManager::activateDebugMode();
// reportStarted();
// }
// Feels better, as the QML Engine might attach late or not at all.
if (engine == m_engines.first()) {
EngineManager::activateDebugMode();
reportStarted();
}
}
void DebuggerRunTool::handleEngineFinished(DebuggerEngine *engine)
{
engine->prepareForRestart();
if (--d->engineStopsNeeded == 0) {
const QString cmd = m_runParameters.inferior().command.toUserOutput();
const QString msg = engine->runParameters().exitCode() // Main engine.
? Tr::tr("Debugging of %1 has finished with exit code %2.")
.arg(cmd)
.arg(*engine->runParameters().exitCode())
: Tr::tr("Debugging of %1 has finished.").arg(cmd);
appendMessage(msg, NormalMessageFormat);
reportStopped();
}
}
void DebuggerRunTool::setupPortsGatherer()
{
if (m_runParameters.isCppDebugging())

View File

@@ -40,9 +40,6 @@ public:
private:
void showMessage(const QString &msg, int channel = LogDebug, int timeout = -1);
void handleEngineStarted(Internal::DebuggerEngine *engine);
void handleEngineFinished(Internal::DebuggerEngine *engine);
void startCoreFileSetupIfNeededAndContinueStartup();
void continueAfterCoreFileSetup();