debugger: reinstate 'continue if step fails' fallback in the trk adapter

This commit is contained in:
hjk
2010-01-15 11:36:57 +01:00
parent 08c6899efa
commit ed82a0c3ab

View File

@@ -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)");