Eu recebo o seguinte erro quando tento iniciar meu código no depurador.
EventDispatchThread.run() line: not available [local variables unavailable]
O código é muito grande e não posso publicá-lo aqui, mas aqui estão alguns detalhes:
Esta declaração parece falhar e não consigo entrar no construtor com o depurador:
Satellite satellite = new Satellite();
Quando coloco um ponto de interrupção nessa linha e tento entrar no construtor ou passar por cima, recebo o mesmo erro acima.
Aqui estão partes da implementação da class Satellite:
package tags; import main.*; import xml.*; public class Satellite extends XMLElement { public static final String[] ATTRIBUTES = { "XmlFileVersion", "SatelliteName", "xmlns:xsi=@xmlns_xsi", "xsi:noNamespaceSchemaLocation=@xsi_noNamespaceSchemaLocation" }; public Satellite() { super(ATTRIBUTES); setTopLevelElement(); setAttribute("XmlFileVersion",ValueCenter.Satellite_XmlFileVersion()); setAttribute("SatelliteName",ValueCenter.Satellite_SatelliteName()); addElement(new SubSystemList()); } }
Eu localizei o problema em algum lugar na linha addElement(new SubSystemList());
. Eu adicionei um ponto de interrupção aqui e novamente tentei entrar ou passar por cima e agora eu tenho um ClassNotFoundException
. O cursor de debugging salta para uma janela vazia onde “Fonte não encontrada”. está escrito, mas a fonte está 100% disponível e eu também tenho os arquivos .class correspondentes. A outra coisa é que o Eclipse IDE não gera erros na verificação de syntax.
Eu não entendo isso. O que pode causar esses erros e por que não posso usar o depurador para percorrer as chamadas de método?
Eu atualizei o Eclipse Helios SR1 para Java Devs e instalei a última versão do java no meu pc.
Eu sei que o código tem um loop infinito em qualquer lugar aqui, porque eu recebo uma exceção StackOverflowError
se eu executá-lo sem o depurador. Mas de qualquer forma, não deveria ser possível depurar através do código, para investigar o problema real? Por que o depurador está travando com outros erros ou exceções do que um não depurador executado?
btw: apenas um thread e execução seqüencial.
Espero que alguém possa ajudar.
Editar 1:
Algumas informações adicionais. Meu espaço de trabalho tem dois projetos. Em um deles existe o programa principal com o Satellite e outros. No outro projeto eu tenho muitas classs de suporte como este XMLElement. Essa estrutura funciona para muitas classs.
A propósito: posso entrar no método XMLElement.setAttribute, mas não posso entrar no XMLElement.addElement.
A outra coisa estranha é que o Satellite está no mesmo projeto que a class principal, mas também não é possível entrar no construtor.
Talvez isso ajude?
No Eclipse: Clique com o botão direito do mouse no projeto e selecione Properties
.
Aqui estão as configurações que você precisa mudar:
Além disso, encontre sua Configuração de Execução usando Run > Run Configurations ...
, selecione a guia Source
e verifique se o projeto atual está na lista de fonts. Caso contrário, clique em Add... > Java Project ...
Linha EventDispatchThread.run (): não disponível. Esta é uma mensagem de erro comum para o desenvolvedor de aplicativos de área de trabalho java, que está trabalhando principalmente no Swing. Eu também tenho a mesma mensagem de erro, mas o passo que você explicou não resolve o meu problema.Eu recebi a mesma mensagem de erro para outro problema.Isso foi OutOfMemoryError.So quando você está recebendo esta mensagem de erro o problema que você precisa para encontrar a si mesmo e é não devido a algum problema em particular.
Eu resolvi isso corrigindo meu Java Swing Code que estava lançando NullPointerException.