编辑:必须有某种方法可以在不编写全新调试器的情况下解决此问题。我目前正在研究在现有 java 调试器之上构建的方法。如果有人对如何获取 Java 调试器已有的信息(关于堆栈帧、变量、原始数据等)有任何想法,那将非常有帮助。
--
我想要做的是我有这个基于 Java 的框架/API,我想编写一个针对我的框架定制的 Eclipse 插件调试器。这是一个简单的例子:
我有两个类,一个叫作用域,一个叫变量。范围包含变量映射。代码全部在 java 中,但我使用这种范围变量关系几乎就像一种新语言,并且想要一个变量调试选项卡,它为我提供当前活动范围的列表以及当前存储在其中的变量。这是一些代码:
import java.util.Hashtable;
public class Scope {
private Hashtable<String, Variable> variableList = new Hashtable<String, Variable>();
// constructor
public Scope(){
}
public void put(String key, Variable v){
variableList.put(key, v);
}
public Variable get(String key){
return variableList.get(key);
}
}
public class Variable {
private String value;
private String name;
public Variable(String aName, String aValue){
name = aName;
value = aValue;
}
public String getValue(){
return value;
}
public String getName(){
return name;
}
public void setValue(String aValue){
value = aValue;
}
}
这显然是一个非常简单的例子,但我想完成与此类似的事情,我可以获得一个变量窗口,设置一个断点,并让一个“调试器”列出我的活动范围对象和里面的变量对象。
我一直在尝试阅读和理解: http: //www.eclipse.org/articles/Article-Debugger/how-to.html
并且它非常密集(以及非常过时),但我会尝试花一些时间来理解它。我只是想看看是否有人对如何解决此类问题有任何高级建议,因为我在 eclipse 中开发插件或制作调试器的经验很少。
谢谢!