diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 02e84fd6a9460acb63017bf8bb107f12a78bd216..452e9908ec49541c762a6f86e3e0dbc1b4b85b70 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1078,7 +1078,6 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data) return; } - //MAC: bool isFirstStop = data.findChild("bkptno").data() == "1"; //!MAC: startSymbolName == data.findChild("frame").findChild("func") if (m_waitingForFirstBreakpointToBeHit) { @@ -1292,6 +1291,15 @@ void GdbEngine::handleAsyncOutput2(const GdbMi &data) } } + // FIXME: Hack, remove as soon as we get real stack traces. + if (m_gdbProc->isAdapter()) { + StackFrame f; + f.file = QString::fromLocal8Bit(fullName.data()); + f.line = frame.findChild("line").data().toInt(); + f.address = _(frame.findChild("addr").data()); + q->gotoLocation(f, true); + } + // // Stack // @@ -2051,6 +2059,8 @@ void GdbEngine::sendInsertBreakpoint(int index) // cmd += "-c " + data->condition + " "; #else QString cmd = _("-break-insert -f "); + if (m_gdbProc->isAdapter()) + cmd = _("-break-insert "); //if (!data->condition.isEmpty()) // cmd += _("-c ") + data->condition + ' '; #endif diff --git a/src/plugins/debugger/symbian/symbianadapter.cpp b/src/plugins/debugger/symbian/symbianadapter.cpp index c5ff3dc2b24d3e06f1e1b50de1730f3368d8760d..212e1d5e18e7d0459062bd4f8a67f1562e5c1195 100644 --- a/src/plugins/debugger/symbian/symbianadapter.cpp +++ b/src/plugins/debugger/symbian/symbianadapter.cpp @@ -1421,6 +1421,7 @@ void SymbianAdapter::attach(GdbEngine *engine) const .arg(m_session.codeseg)); engine->postCommand(_("symbol-file \"%1\"").arg(fileName)); engine->postCommand(_("target remote ") + gdbServerName()); + engine->attemptBreakpointSynchronization(); #endif }