From eab77f5a418182123cf465e800bc7d54ce27269a Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sun, 16 Mar 2003 21:48:50 +0000 Subject: [PATCH] Call the stackframe whith the right level. --- .../eclipse/cdt/debug/mi/core/cdi/VariableManager.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java index a55e2a78f37..1e456075dcc 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java @@ -222,8 +222,10 @@ public class VariableManager extends SessionObject implements ICDIVariableManage CommandFactory factory = mi.getCommandFactory(); int depth = frame.getThread().getStackFrameCount(); int level = frame.getLevel(); + // Need the GDB/MI view of leve which the reverse i.e. Highest frame is 0 + int miLevel = depth - level; MIStackListArguments listArgs = - factory.createMIStackListArguments(false, level, level); + factory.createMIStackListArguments(false, miLevel, miLevel); MIArg[] args = null; mi.postCommand(listArgs); MIStackListArgumentsInfo info = listArgs.getMIStackListArgumentsInfo(); @@ -238,7 +240,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage ICDITarget tgt = frame.getThread().getTarget(); for (int i = 0; i < args.length; i++) { ArgumentObject arg = new ArgumentObject(tgt, args[i].getName(), - frame, args.length - i, depth); + frame, args.length - i, level); argObjects.add(arg); } } @@ -379,7 +381,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage try { MISession mi = session.getMISession(); CommandFactory factory = mi.getCommandFactory(); - int depth = frame.getThread().getStackFrameCount(); + int level = frame.getLevel(); MIArg[] args = null; MIStackListLocals locals = factory.createMIStackListLocals(false); mi.postCommand(locals); @@ -392,7 +394,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage ICDITarget tgt = frame.getThread().getTarget(); for (int i = 0; i < args.length; i++) { VariableObject varObj = new VariableObject(tgt, args[i].getName(), - frame, args.length - i, depth); + frame, args.length - i, level); varObjects.add(varObj); } }