Debugger: Fix assert handling for devices without signalOperation()

That's not a full solution, but fixes the reported crash.

The core of the problem is that BareMetal devices do not provide
signalOperation() (which is ok) and this code path should not have
been taken to start with.

Change-Id: Ib903b8d7f0728c5b3cb217b567247e66b751c5c3
Task-number: QTCREATORBUG-18694
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2017-08-17 10:15:46 +02:00
parent 2f762508b0
commit ef1b0f999d

View File

@@ -800,7 +800,7 @@ void GdbEngine::interruptInferior()
QTC_ASSERT(state() == InferiorStopRequested, qDebug() << state(); notifyInferiorStopFailed()); QTC_ASSERT(state() == InferiorStopRequested, qDebug() << state(); notifyInferiorStopFailed());
QTC_ASSERT(!m_signalOperation, notifyInferiorStopFailed()); QTC_ASSERT(!m_signalOperation, notifyInferiorStopFailed());
m_signalOperation = runTool()->device()->signalOperation(); m_signalOperation = runTool()->device()->signalOperation();
QTC_ASSERT(m_signalOperation, notifyInferiorStopFailed()); QTC_ASSERT(m_signalOperation, notifyInferiorStopFailed(); return);
connect(m_signalOperation.data(), &DeviceProcessSignalOperation::finished, connect(m_signalOperation.data(), &DeviceProcessSignalOperation::finished,
this, &GdbEngine::handleInterruptDeviceInferior); this, &GdbEngine::handleInterruptDeviceInferior);