From 87d13230c18ee4cdcd8ccfa2d28faf7361bc0b3a Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 11 Jan 2010 17:56:05 +0100 Subject: [PATCH] debugger: disable 'continue' as woraround for failing 'step' --- src/plugins/debugger/gdb/gdbengine.cpp | 7 ++++--- src/plugins/debugger/gdb/trkgdbadapter.cpp | 13 +++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 4becc17c36d..1793a0b91a6 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3631,6 +3631,10 @@ void GdbEngine::updateLocals(const QVariant &cookie) expanded.chop(1); QByteArray watchers; + if (!m_toolTipExpression.isEmpty()) + watchers += m_toolTipExpression.toLatin1() + + "#" + tooltipINameForExpression(m_toolTipExpression.toLatin1()); + QHash watcherNames = handler->watcherNames(); QHashIterator it(watcherNames); while (it.hasNext()) { @@ -3642,9 +3646,6 @@ void GdbEngine::updateLocals(const QVariant &cookie) else watchers += it.key() + "#watch." + QByteArray::number(it.value()); } - if (!m_toolTipExpression.isEmpty()) - watchers += "##" + m_toolTipExpression.toLatin1() - + "#" + tooltipINameForExpression(m_toolTipExpression.toLatin1()); QByteArray options; if (theDebuggerBoolSetting(UseDebuggingHelpers)) diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp index 1e69908c509..174296632a3 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.cpp +++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp @@ -451,6 +451,7 @@ void TrkGdbAdapter::readGdbServerCommand() if (code == '-') { logMessage("NAK: Retransmission requested"); + emit adapterCrashed("Communication problem encountered."); continue; } @@ -1459,9 +1460,15 @@ void TrkGdbAdapter::handleStepInto(const TrkResult &result) m_snapshot.reset(); if (result.errorCode()) { logMessage("ERROR: " + result.errorString() + " in handleStepInto"); +#if 0 // Try fallback with Step Over QByteArray ba = trkStepRangeMessage(0x11); // options "step over" sendTrkMessage(0x19, TrkCB(handleStepInto2), ba, "Step range"); +#else + sendTrkMessage(0x12, + TrkCB(handleAndReportReadRegistersAfterStop), + trkReadRegistersMessage()); +#endif return; } // The gdb server response is triggered later by the Stop Reply packet @@ -1472,9 +1479,15 @@ void TrkGdbAdapter::handleStepInto2(const TrkResult &result) { if (result.errorCode()) { logMessage("ERROR: " + result.errorString() + " in handleStepInto2"); +#if 0 // Try fallback with Continue sendTrkMessage(0x18, TrkCallback(), trkContinueMessage(), "CONTINUE"); //sendGdbServerMessage("S05", "Stepping finished"); +#else + sendTrkMessage(0x12, + TrkCB(handleAndReportReadRegistersAfterStop), + trkReadRegistersMessage()); +#endif return; } logMessage("STEP INTO FINISHED (FALLBACK)");