EDITAR: Debe haber alguna manera en que pueda abordar esto sin escribir un depurador completamente nuevo. Actualmente estoy buscando formas de construir sobre el depurador de Java existente. Si alguien tiene alguna idea sobre cómo obtener la información que el depurador de Java ya tiene (sobre marcos de pila, variables, datos brutos, etc.), sería realmente útil.Escribir un depurador de eclipse personalizado
-
Lo que estoy tratando de hacer es que tengo este marco/API basada en Java, y me gustaría escribir un plugin para Eclipse depurador que se adapta a mi marco. Aquí hay un ejemplo simple:
Tengo dos clases, una llamada alcance y una llamada variable. El alcance contiene un mapa de variables. El código está todo en Java, pero estoy usando esta relación de variable de ámbito casi como un nuevo idioma, y me gustaría una pestaña de depuración variable que me brinde una lista de los ámbitos actualmente activos con las variables que están almacenadas actualmente dentro. Aquí hay un código:
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;
}
}
Obviamente, esto es un ejemplo muy simple, pero me gustaría lograr algo similar a esto donde puedo conseguir una ventana de variables, establecer un punto de interrupción, y tienen una lista "depurador" fuera mis objetos de ámbito activo y los objetos variables dentro.
He estado tratando de leer y entender: http://www.eclipse.org/articles/Article-Debugger/how-to.html
y es bastante denso (así como extremadamente obsoleta), pero voy a tratar de tomar algún tiempo para entenderlo. Solo quería ver si alguien tenía recomendaciones de alto nivel sobre cómo abordar este tipo de problema, ya que tengo poca experiencia en el desarrollo de complementos en eclipse o en la creación de depuradores.
Gracias!
Ese artículo es para agregar soporte para nuevos idiomas. ¿Por qué necesita modificar el depurador para una clase de Java? ¿No puede usar la ventana Variables para ver los objetos en el alcance actual y expandir para ver los contenidos (como VariableList)? – NoBugs
¿Alguna razón por la que no solo hace que su marco JSR-233 sea compatible (scripting java)? –