gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 20:06:33 25 4
gpt4 key购买 nike

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

EventDispatchThread.run() line: not available [local variables unavailable]

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

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

Satellite satellite = new Satellite();

当我在此行上放置一个断点并尝试进入构造函数或跳过时,我得到与上述相同的错误。

以下是 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());
}
}

我将问题定位在 addElement(new SubSystemList()); 行的某处。我在这里添加了一个断点,然后再次尝试介入或跳过,现在我得到了一个 ClassNotFoundException。调试光标跳转到“找不到源”的空窗口。已写入,但源代码是 100% 可用的,我也得到了相应的 .class 文件。另一件事是 Eclipse IDE 在语法检查时不会抛出任何错误。

我不明白这个。是什么导致了这些错误?为什么我不能使用调试器遍历方法调用?

我已经为 Java 开发人员更新了 Eclipse Helios SR1,并在我的电脑上安装了最新的 Java 版本。

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

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

希望有人能帮忙。

编辑 1:

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

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

另一个奇怪的是,Satellite 与主类在同一个项目中,但也无法进入构造函数。

也许这有帮助?

最佳答案

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

以下是您必须更改的设置:

debugger settings

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

关于Java 错误 : EventDispatchThread. run() 行:不可用 [局部变量不可用],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com