<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi All,<div class=""><br class=""></div><div class="">I filed a <a href="https://bugreports.qt.io/browse/QTCREATORBUG-18694" class="">bug-18694</a> because qt-creator crashes when I stop debugging using a bare-metal device.</div><div class=""><br class=""></div><div class="">What happens is that in void GdbEngine::interruptInferior() m_signalOperation becomes a null pointer.</div><div class="">See code fragment:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">void GdbEngine::interruptInferior()</font></div><div class=""><font face="Courier New" class="">{</font></div><div class=""><font face="Courier New" class="">    CHECK_STATE(InferiorStopRequested);</font></div><div class=""><font face="Courier New" class=""><br class=""></font></div><div class=""><font face="Courier New" class="">    if (terminal()->sendInterrupt())</font></div><div class=""><font face="Courier New" class="">        return;</font></div><div class=""><font face="Courier New" class=""><br class=""></font></div><div class=""><font face="Courier New" class="">    if (usesExecInterrupt()) {</font></div><div class=""><font face="Courier New" class="">        runCommand({"-exec-interrupt"});</font></div><div class=""><font face="Courier New" class="">    } else {</font></div><div class=""><font face="Courier New" class="">        showStatusMessage(tr("Stop requested..."), 5000);</font></div><div class=""><font face="Courier New" class="">        showMessage("TRYING TO INTERRUPT INFERIOR");</font></div><div class=""><font face="Courier New" class="">        if (HostOsInfo::isWindowsHost() && !m_isQnxGdb) {</font></div><div class=""><font face="Courier New" class="">            QTC_ASSERT(state() == InferiorStopRequested, qDebug() << state(); notifyInferiorStopFailed());</font></div><div class=""><font face="Courier New" class="">            QTC_ASSERT(!m_signalOperation, notifyInferiorStopFailed());</font></div><div class=""><font face="Courier New" class="">            m_signalOperation = runTool()->device()->signalOperation();</font></div><div class=""><font face="Courier New" class="">            QTC_ASSERT(m_signalOperation, notifyInferiorStopFailed());</font></div><div class=""><font face="Courier New" class="">            connect(m_signalOperation.data(), &DeviceProcessSignalOperation::finished,</font></div><div class=""><font face="Courier New" class="">                    this, &GdbEngine::handleInterruptDeviceInferior);</font></div><div class=""><font face="Courier New" class=""><br class=""></font></div><div class=""><font face="Courier New" class="">            m_signalOperation->setDebuggerCommand(runParameters().debugger.executable);</font></div><div class=""><font face="Courier New" class="">            m_signalOperation->interruptProcess(inferiorPid());</font></div><div class=""><font face="Courier New" class="">        } else {</font></div><div class=""><font face="Courier New" class="">            interruptInferior2();</font></div><div class=""><font face="Courier New" class="">        }</font></div><div class=""><font face="Courier New" class="">    }</font></div><div class=""><font face="Courier New" class="">}</font></div></div><div class=""><br class=""></div><div class="">I want to help to get to the problem but this is the first time I see qt-creator code. Does any of you have a clue why  <span style="font-family: 'Courier New';" class="">runTool()->device()->signalOperation(); </span>returns 0?</div><div class="">What I debugged so far I can see that when start debugging <span style="font-family: 'Courier New';" class="">runTool()->device() </span>is not a null pointer.</div><div class=""><br class=""></div><div class="">Some tips and tricks are welcome.</div><div class=""><br class=""></div><div class="">Thanks in advance.</div><div class=""><br class=""></div><div class="">Marcel</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><div class=""><br class=""></div><div class=""> </div></body></html>