1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 06:05:24 +02:00

Call the stackframe whith the right level.

This commit is contained in:
Alain Magloire 2003-03-16 21:48:50 +00:00
parent 4d573939d8
commit eab77f5a41

View file

@ -222,8 +222,10 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
CommandFactory factory = mi.getCommandFactory(); CommandFactory factory = mi.getCommandFactory();
int depth = frame.getThread().getStackFrameCount(); int depth = frame.getThread().getStackFrameCount();
int level = frame.getLevel(); 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 = MIStackListArguments listArgs =
factory.createMIStackListArguments(false, level, level); factory.createMIStackListArguments(false, miLevel, miLevel);
MIArg[] args = null; MIArg[] args = null;
mi.postCommand(listArgs); mi.postCommand(listArgs);
MIStackListArgumentsInfo info = listArgs.getMIStackListArgumentsInfo(); MIStackListArgumentsInfo info = listArgs.getMIStackListArgumentsInfo();
@ -238,7 +240,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
ICDITarget tgt = frame.getThread().getTarget(); ICDITarget tgt = frame.getThread().getTarget();
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {
ArgumentObject arg = new ArgumentObject(tgt, args[i].getName(), ArgumentObject arg = new ArgumentObject(tgt, args[i].getName(),
frame, args.length - i, depth); frame, args.length - i, level);
argObjects.add(arg); argObjects.add(arg);
} }
} }
@ -379,7 +381,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
try { try {
MISession mi = session.getMISession(); MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory(); CommandFactory factory = mi.getCommandFactory();
int depth = frame.getThread().getStackFrameCount(); int level = frame.getLevel();
MIArg[] args = null; MIArg[] args = null;
MIStackListLocals locals = factory.createMIStackListLocals(false); MIStackListLocals locals = factory.createMIStackListLocals(false);
mi.postCommand(locals); mi.postCommand(locals);
@ -392,7 +394,7 @@ public class VariableManager extends SessionObject implements ICDIVariableManage
ICDITarget tgt = frame.getThread().getTarget(); ICDITarget tgt = frame.getThread().getTarget();
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {
VariableObject varObj = new VariableObject(tgt, args[i].getName(), VariableObject varObj = new VariableObject(tgt, args[i].getName(),
frame, args.length - i, depth); frame, args.length - i, level);
varObjects.add(varObj); varObjects.add(varObj);
} }
} }