デバッガーでコードを開始しようとすると、次のエラーが発生します。
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 ファイルも取得しています。もう 1 つのことは、Eclipse IDE が構文チェックでエラーをスローしないことです。
私はこれを理解していません。これらのエラーの原因は何ですか? また、デバッガーを使用してメソッド呼び出しを実行できないのはなぜですか?
Java Devs 用の Eclipse Helios SR1 を更新し、PC に最新の Java バージョンをインストールしました。
StackOverflowError
デバッガーなしで実行すると例外が発生するため、コードのどこかに無限ループがあることがわかります。とにかく、実際の問題を調査するために、コードをデバッグすることは可能ではないでしょうか? デバッガー以外の実行以外のエラーまたは例外でデバッガーがクラッシュするのはなぜですか?
ところで:1つのスレッドと順次実行のみ。
誰かが助けてくれることを願っています。
編集1:
いくつかの追加情報。マイ ワークスペースには 2 つのプロジェクトがあります。1 つはサテライトなどを含むメイン プログラムです。他のプロジェクトには、この XMLElement のようなサポート クラスが多数あります。この構造は、多くのクラスで機能します。
ところで、XMLElement.setAttribute メソッドにはステップ インできますが、XMLElement.addElement メソッドにはステップ インできません。
もう 1 つの奇妙な点は、Satellite がメイン クラスと同じプロジェクトにあることですが、コンストラクターにステップ インすることもできません。
多分これは役立ちますか?