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(); rc->initiateStop();
}, Qt::QueuedConnection); }, Qt::QueuedConnection);
connect(engine, &DebuggerEngine::requestRunControlStop, rc, &RunControl::initiateStop); connect(engine, &DebuggerEngine::requestRunControlStop, rc, &RunControl::initiateStop);
connect(engine, &DebuggerEngine::engineStarted,
this, [this, engine] { handleEngineStarted(engine); }); connect(engine, &DebuggerEngine::engineStarted, this, [this, engine] {
connect(engine, &DebuggerEngine::engineFinished, // Correct:
this, [this, engine] { handleEngineFinished(engine); }); // 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, connect(engine, &DebuggerEngine::appendMessageRequested,
this, &DebuggerRunTool::appendMessage); this, &DebuggerRunTool::appendMessage);
++d->engineStartsNeeded; ++d->engineStartsNeeded;
@@ -464,36 +488,6 @@ void DebuggerRunTool::stop()
Utils::reverseForeach(m_engines, [](DebuggerEngine *engine) { engine->quitDebugger(); }); 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() void DebuggerRunTool::setupPortsGatherer()
{ {
if (m_runParameters.isCppDebugging()) if (m_runParameters.isCppDebugging())

View File

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