2011-03-13 6 views
5

Eclipse 3.5を使用していて、Eclipseのグローバル設定にsrc.zipを添付しました。 Windows - >設定 - > Java - >インストールされたJRE - > rt.jar - ソース添付 - ...../jdk/src.zipECLIPSEの.classファイルをデバッグするには?

私はJavaコアlibrary .classファイルを開き、ソースコードを表示します。 LinkedListを使用するクラスを構築し、LinkedListクラス内にブレークポイントを設定しました。

私は私のソースコード(私のプロジェクト)にブレークポイントが良い働いているが、私はJavaのコアのlib .classesにステップする必要があるとき、私は私のEclipseでのできない eclipse error

を次のエラーを取得デバッグ行番号属性がないため、java.util.LinkedListにブレークポイントをインストールしてください。コンパイラオプションを変更して、行番号属性を生成します。

環境設定でコンパイラ設定を確認し、すべてのオプションが真であることを確認しました。 enter image description here 誰かがこの問題を解決するのに役立ちます。

ありがとうございます。

答えて

6

あなたのクラスファイルにデバッグ情報を含めるようにコンパイラを設定しているかもしれませんが、rt.jarのクラスファイルはコンパイルされていません。あなたは、rt.jar(心臓のかすかなものではない)またはdownload a debug build of the jdkのクラスのすべてのソースを再コンパイルする必要があります。

+0

チャームのように働いた。どうもありがとうございました。これを探しています。 – AKh

+0

こんにちはDavid ... Javaコアのクラスを変更し、コンパイルしてプロジェクトで使用する方法を教えてください。例:私は私の研究目的のためにLinkedListクラスの値を代入するためにプライベート変数 - ヘッダ - をパブリックに変更したいですか?私はLinkedListの振る舞いを勉強しています...あなたがいくつかのリソースを指しているとしても、感謝します。 – AKh

+0

私はそれは良い考えではないと思っています。研究用の私的変数にアクセスしたいのであれば、それを反映させることができます。例えば、例外処理を除いて:リストリスト=新しいLinkedList (); list.add( "foo");フィールドヘッダー= list.getClass()。getDeclaredField( "ヘッダー"); header.setAccessible(true); System.out.println(header.get(list)); –

2

このblog postsは、あなたがwindows > preferences > Java > compiler画面へのEclipse IDE

enter image description here

  1. Go]を使用してコンパイルする場合の手順に従ってください

    をチェックするポイントの包括的なリストを与えます。

  2. 生成されたファイル(デバッガで使用される)に行番号属性を追加するチェックボックスがオンになっていることを確認します。
  3. もう一度ビルドして、ブレークポイントを追加してみてください。

アリのための注意

あなたはANTユーティリティを使用してコンパイルする場合の手順に従って構築します。

  1. build.xmlファイルをチェックしていることを確認して、デバッグ属性を作成しますjavacタスクでtrueに設定されています
  2. また、JBossをアプリケーションサーバーとして使用している場合は、suあなたはすでにリモート接続のソケットバインディングのためのポートを開いていることを再度 マシン接続。そうでない場合は、C:/jboss/bin/run.batに、デバッグ/リモートJavaアプリケーションのすべてのソケット接続をリッスンするためのポート番号5000を開くために、
    "set JAVA_OPTS=%JAVA_OPTS% -Xdebug –Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n"というエントリがあることを確認してください。
  3. もう一度ビルドして、ブレークポイントを追加してみてください。
2

JREクラスはデバッグには適していないため、JRE srcを添付したJREを使用しないでください。

EclipseでJava環境を検索し、その結果のリストからJDKを選択します。このJava環境ではsrc.zipが正しく接続されており、調査できるはずです。あなたは

(また、コンパイラの設定パネルが唯一のJREクラスを事前に生成されている。あなたコードに適用され、などのローカル変数を見ることができないようにもJDKクラスは、利用できるすべてのデバッグ情報を持っていない

注意パネルはそれらに影響を与えない)。