From 8213e5bda734852dbd9ecc308695ffb65aa87a6f Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Fri, 11 Sep 2009 13:05:37 +0200
Subject: [PATCH] debugger: work on trk.

Something's visible in Locals&Watchers now!
---
 src/plugins/debugger/gdb/gdbengine.cpp          | 12 +++++++++++-
 src/plugins/debugger/symbian/symbianadapter.cpp |  1 +
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 02e84fd6a94..452e9908ec4 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 c5ff3dc2b24..212e1d5e18e 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
 }
 
-- 
GitLab