Java错误:EventDispatchThread.run()行:不可用[局部变量不可用]

fpd*_*gon 5 java eclipse debugging classnotfoundexception

当我尝试在调试器中启动代码时出现以下错误.

EventDispatchThread.run() line: not available [local variables unavailable]
Run Code Online (Sandbox Code Playgroud)

代码非常大,我不能在这里发布,但无论如何这里有一些细节:

这个语句似乎崩溃了,我无法使用调试器进入构造函数:

Satellite satellite = new Satellite();
Run Code Online (Sandbox Code Playgroud)

当我在这一行上设置断点并尝试进入构造函数或跳过时,我得到与上面相同的错误.

以下是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());
    }
}
Run Code Online (Sandbox Code Playgroud)

我将问题本地化了addElement(new SubSystemList());.我在这里添加了一个断点,然后再次试图介入或跳过,现在我得到了一个断点ClassNotFoundException.调试光标跳转到"未找到源"的空窗口.写的但是Source是100%可用的,我也得到了相应的.class文件.另一件事是Eclipse IDE在语法检查上不会抛出任何错误.

我不明白这一点.什么可能导致这些错误,为什么我不能使用调试器来完成方法调用?

我已经为Java Devs更新了Eclipse Helios SR1,并在我的电脑上安装了最新的java版本.

我知道代码在这里的任何地方都有无限循环,因为StackOverflowError如果我在没有调试器的情况下运行它,我会得到一个Exception.但无论如何,不​​应该通过代码调试,调查真正的问题吗?为什么调试器会因非调试器运行而导致其他错误或异常崩溃?

顺便说一句:只有一个线程和顺序执行.

希望有人能提供帮助.

编辑1:

一些额外的信息.我的工作区有两个项目.其中一个是卫星和其他主要节目.在另一个项目中,我有很多支持类,比如这个XMLElement.这种结构适用于许多类.

顺便说一句:我可以进入XMLElement.setAttribute方法,但我无法进入XMLElement.addElement.

另一个奇怪的事情是Satellite与主类在同一个项目中,但也不可能进入构造函数.

也许这有帮助吗?

Sea*_*oyd 5

在Eclipse中:右键单击项目并选择Properties.

以下是您需要更改的设置:

调试器设置

此外,使用Run > Run Configurations ...选择运行配置,选择Source选项卡并确保当前项目位于源列表中.如果没有,请单击Add... > Java Project ...