forked from qt-creator/qt-creator
Debugger: Inline some handlers
Change-Id: I440a2c01859206331306eeb298aab3af6aad4909 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -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())
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user