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:
parent
4d573939d8
commit
eab77f5a41
1 changed files with 6 additions and 4 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue