6

デバッガーでコードを開始しようとすると、次のエラーが発生します。

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 がメイン クラスと同じプロジェクトにあることですが、コンストラクターにステップ インすることもできません。

多分これは役立ちますか?

4

3 に答える 3

5

Eclipse の場合: プロジェクトを右クリックして を選択しますProperties

変更する必要がある設定は次のとおりです。

デバッガー設定

また、 を使用して実行構成を見つけRun > Run Configurations ...、タブを選択しSourceて、現在のプロジェクトがソース リストにあることを確認します。そうでない場合は、クリックしますAdd... > Java Project ...

于 2011-02-22T16:34:37.480 に答える
0

EventDispatchThread.run() 行: 利用できません。これは、主に Swing で作業している Java デスクトップ アプリケーション開発者によくあるエラー メッセージです。私も同じエラーメッセージを受け取りましたが、あなたが説明した手順では問題が解決しません.別の問題で同じエラーメッセージが表示されました.それはOutOfMemoryErrorでした.特定の問題によるものではありません。

于 2014-09-15T17:51:05.820 に答える