forked from qt-creator/qt-creator
debugger: reinstate 'continue if step fails' fallback in the trk adapter
This commit is contained in:
@@ -400,13 +400,8 @@ void TrkGdbAdapter::slotEmitDelayedInferiorStartFailed()
|
|||||||
|
|
||||||
void TrkGdbAdapter::logMessage(const QString &msg)
|
void TrkGdbAdapter::logMessage(const QString &msg)
|
||||||
{
|
{
|
||||||
if (m_verbose) {
|
if (m_verbose)
|
||||||
//#ifdef STANDALONE_RUNNER
|
debugMessage("TRK LOG: " + msg);
|
||||||
// emit output(msg);
|
|
||||||
//#else
|
|
||||||
m_engine->debugMessage("TRK LOG: " + msg);
|
|
||||||
//#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -1488,16 +1483,17 @@ void TrkGdbAdapter::handleStepInto(const TrkResult &result)
|
|||||||
m_snapshot.reset();
|
m_snapshot.reset();
|
||||||
if (result.errorCode()) {
|
if (result.errorCode()) {
|
||||||
logMessage("ERROR: " + result.errorString() + " in handleStepInto");
|
logMessage("ERROR: " + result.errorString() + " in handleStepInto");
|
||||||
#if 1
|
|
||||||
// Try fallback with Step Over
|
// Try fallback with Step Over.
|
||||||
logMessage("FALLBACK TO 'STEP OVER'");
|
debugMessage("FALLBACK TO 'STEP OVER'");
|
||||||
QByteArray ba = trkStepRangeMessage(0x11); // options "step over"
|
QByteArray ba = trkStepRangeMessage(0x11); // options "step over"
|
||||||
sendTrkMessage(0x19, TrkCB(handleStepInto2), ba, "Step range");
|
sendTrkMessage(0x19, TrkCB(handleStepInto2), ba, "Step range");
|
||||||
#else
|
|
||||||
sendTrkMessage(0x12,
|
// Doing nothing as below does not work as gdb seems to insist on
|
||||||
TrkCB(handleAndReportReadRegistersAfterStop),
|
// making some progress through a 'step'.
|
||||||
trkReadRegistersMessage());
|
//sendTrkMessage(0x12,
|
||||||
#endif
|
// TrkCB(handleAndReportReadRegistersAfterStop),
|
||||||
|
// trkReadRegistersMessage());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// The gdb server response is triggered later by the Stop Reply packet
|
// The gdb server response is triggered later by the Stop Reply packet
|
||||||
@@ -1508,16 +1504,17 @@ void TrkGdbAdapter::handleStepInto2(const TrkResult &result)
|
|||||||
{
|
{
|
||||||
if (result.errorCode()) {
|
if (result.errorCode()) {
|
||||||
logMessage("ERROR: " + result.errorString() + " in handleStepInto2");
|
logMessage("ERROR: " + result.errorString() + " in handleStepInto2");
|
||||||
#if 0
|
|
||||||
logMessage("FALLBACK TO 'CONTINUE'");
|
// Try fallback with Continue.
|
||||||
// Try fallback with Continue
|
debugMessage("FALLBACK TO 'CONTINUE'");
|
||||||
sendTrkMessage(0x18, TrkCallback(), trkContinueMessage(), "CONTINUE");
|
sendTrkMessage(0x18, TrkCallback(), trkContinueMessage(), "CONTINUE");
|
||||||
//sendGdbServerMessage("S05", "Stepping finished");
|
//sendGdbServerMessage("S05", "Stepping finished");
|
||||||
#else
|
|
||||||
sendTrkMessage(0x12,
|
// Doing nothing as below does not work as gdb seems to insist on
|
||||||
TrkCB(handleAndReportReadRegistersAfterStop),
|
// making some progress through a 'next'.
|
||||||
trkReadRegistersMessage());
|
// sendTrkMessage(0x12,
|
||||||
#endif
|
// TrkCB(handleAndReportReadRegistersAfterStop),
|
||||||
|
// trkReadRegistersMessage());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logMessage("STEP INTO FINISHED (FALLBACK)");
|
logMessage("STEP INTO FINISHED (FALLBACK)");
|
||||||
|
Reference in New Issue
Block a user