Debugger: Introduce a GdbEngine::usesOutputCollector helper

Change-Id: Ia148baeb602c8794d0b5075afd4259f1529d727f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-06-21 13:54:19 +02:00
parent 3ead72787e
commit 325773b5f6
2 changed files with 10 additions and 3 deletions

View File

@@ -3808,7 +3808,7 @@ void GdbEngine::setupEngine()
const DebuggerRunParameters &rp = runParameters(); const DebuggerRunParameters &rp = runParameters();
CommandLine gdbCommand{rp.debugger.executable}; CommandLine gdbCommand{rp.debugger.executable};
if (isPlainEngine()) { if (usesOutputCollector()) {
if (!m_outputCollector.listen()) { if (!m_outputCollector.listen()) {
handleAdapterStartFailed(tr("Cannot set up communication with child process: %1") handleAdapterStartFailed(tr("Cannot set up communication with child process: %1")
.arg(m_outputCollector.errorString())); .arg(m_outputCollector.errorString()));
@@ -4004,7 +4004,7 @@ void GdbEngine::setupEngine()
void GdbEngine::handleGdbStartFailed() void GdbEngine::handleGdbStartFailed()
{ {
if (isPlainEngine()) if (usesOutputCollector())
m_outputCollector.shutdown(); m_outputCollector.shutdown();
} }
@@ -4299,6 +4299,11 @@ bool GdbEngine::isTermEngine() const
return !isCoreEngine() && !isLocalAttachEngine() && !isRemoteEngine() && terminal(); return !isCoreEngine() && !isLocalAttachEngine() && !isRemoteEngine() && terminal();
} }
bool GdbEngine::usesOutputCollector() const
{
return isPlainEngine() && !runParameters().debugger.executable.needsDevice();
}
void GdbEngine::claimInitialBreakpoints() void GdbEngine::claimInitialBreakpoints()
{ {
CHECK_STATE(EngineRunRequested); CHECK_STATE(EngineRunRequested);
@@ -4645,7 +4650,7 @@ QChar GdbEngine::mixedDisasmFlag() const
void GdbEngine::shutdownEngine() void GdbEngine::shutdownEngine()
{ {
if (isPlainEngine()) { if (usesOutputCollector()) {
showMessage(QString("PLAIN ADAPTER SHUTDOWN %1").arg(state())); showMessage(QString("PLAIN ADAPTER SHUTDOWN %1").arg(state()));
m_outputCollector.shutdown(); m_outputCollector.shutdown();
} }

View File

@@ -425,6 +425,8 @@ private: ////////// General Interface //////////
void setupInferior(); void setupInferior();
void claimInitialBreakpoints(); void claimInitialBreakpoints();
bool usesOutputCollector() const;
Utils::QtcProcess m_gdbProc; Utils::QtcProcess m_gdbProc;
OutputCollector m_outputCollector; OutputCollector m_outputCollector;
QString m_errorString; QString m_errorString;