Escrevendo um depurador de eclipse customizado

EDITAR: Deve haver alguma maneira de abordar isso sem escrever um depurador totalmente novo. Atualmente, estou procurando maneiras de criar em cima do depurador java existente. Se alguém tiver alguma idéia sobre como capturar informações que o depurador Java já possui (sobre quadros de pilha, variáveis, dados brutos etc.), isso seria realmente útil.

-

O que estou tentando fazer é ter esse framework / API construído em Java, e gostaria de escrever um depurador de plugin do eclipse que seja customizado para o meu framework. Aqui está um exemplo simples:

Eu tenho duas classes, uma chamada escopo e uma variável chamada. O escopo contém um mapa de variáveis. O código é todo em java, mas estou usando esse relacionamento de variável de escopo quase como um novo idioma e gostaria que uma guia de depuração variável fornecesse uma lista de escopos atualmente ativos com as variáveis ​​que estão armazenadas no momento. Aqui está algum 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;
    }
}

Este é obviamente um exemplo extremamente simples, mas eu gostaria de realizar algo semelhante a isso onde eu posso obter uma janela de variáveis, definir um ponto de interrupção e ter uma lista de "depurador" meus objetos de escopo ativo e os objetos variáveis ​​dentro.

Eu tenho tentado ler e entender:http://www.eclipse.org/articles/Article-Debugger/how-to.html

e é bastante densa (e extremamente desatualizada), mas tentarei dedicar algum tempo para compreendê-la. Eu só queria ver se alguém tinha alguma recomendação de alto nível sobre como abordar esse tipo de problema, já que tenho pouca experiência em desenvolver plugins no eclipse ou fazer depuradores.

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion