diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/DisassemblyBackendCdi.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/DisassemblyBackendCdi.java index fb21d33fe74..3c0b54bc1fe 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/DisassemblyBackendCdi.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/DisassemblyBackendCdi.java @@ -115,7 +115,8 @@ public class DisassemblyBackendCdi implements IDisassemblyBackend, IDebugEventSe fTargetContext = null; if (context instanceof ICStackFrame) { - fTargetFrameContext = null; + fTargetFrameContext = null; + fFrameLevel = 0; fTargetContext = (ICThread)((ICStackFrame)context).getThread(); try { // Get the topmost stack frame. Note that the state of the @@ -128,12 +129,11 @@ public class DisassemblyBackendCdi implements IDisassemblyBackend, IDebugEventSe // CDI frame levels are ordered opposite of DSF. Frame 0 is the // root frame of the thread where in DSF it's the topmost frame // (where the PC is). Do a little math to flip reverse the value - result.frameLevel = ((CStackFrame)topFrame).getLevel() - fTargetFrameContext.getLevel(); + fFrameLevel = ((CStackFrame)topFrame).getLevel() - fTargetFrameContext.getLevel(); } } catch (DebugException e) { } } - fFrameLevel = result.frameLevel; if (fTargetContext != null) { result.sessionId = fCdiSessionId = cdiSessionId; @@ -142,6 +142,7 @@ public class DisassemblyBackendCdi implements IDisassemblyBackend, IDebugEventSe } else if (context instanceof ICStackFrame) { fTargetFrameContext = null; + fFrameLevel = 0; ICThread newTargetContext = (ICThread)((ICStackFrame)context).getThread(); ICThread oldTargetContext = fTargetContext; fTargetContext = newTargetContext; @@ -159,13 +160,12 @@ public class DisassemblyBackendCdi implements IDisassemblyBackend, IDebugEventSe // CDI frame levels are ordered opposite of DSF. Frame 0 is the // root frame of the thread where in DSF it's the topmost frame // (where the PC is). Do a little math to flip reverse the value - result.frameLevel = ((CStackFrame)topFrame).getLevel() - fTargetFrameContext.getLevel(); + fFrameLevel = ((CStackFrame)topFrame).getLevel() - fTargetFrameContext.getLevel(); } } catch (DebugException e) { } - fFrameLevel = result.frameLevel; if (!result.contextChanged) { - fCallback.gotoFrame(result.frameLevel); + fCallback.gotoFrame(fFrameLevel); } } diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/IDisassemblyBackend.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/IDisassemblyBackend.java index ca8bcc61b33..04d68476595 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/IDisassemblyBackend.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/disassembly/dsf/IDisassemblyBackend.java @@ -34,12 +34,6 @@ public interface IDisassemblyBackend { */ public String sessionId; - /** - * The frame represented by the context. 0 is the topmost frame (where - * the PC is) - */ - public int frameLevel; - /** * Whether the context changed to another execution context (the parent * elements of a thread, typically a process) diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java index e4a0f0f3ba7..6b90e1a8dff 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java @@ -137,7 +137,6 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL if (executionContext != null) { fTargetContext= executionContext; fTargetFrameContext= frame; - result.frameLevel = frame.getLevel(); } } if (fTargetContext != null) { @@ -192,7 +191,6 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL if (!result.contextChanged) { fCallback.gotoFrameIfActive(frame.getLevel()); } - result.frameLevel = getFrameLevel(); } }