2012-10-05 6 views
6

こんにちは私はもう少しJavaを掘り下げていますので、コアクラスでどのようにプログラムが実行されているか見てみたいと思います。たとえば、String.chatAt()がどのように実装されているかを知りたいので、ブレークポイントを設定してデバッグモードを使用しようとしました。しかし、私は失敗し、プログラムがヒットしたときに2行目にbpを設定しました。私はそれをまだ3行目まで続けています。EclipseでコアのJavaクラスメソッドにステップインするにはどうすればよいですか?

String a = "1231231241241"; 
char b = a.charAt(0); 
System.out.println(b); 

「ソースが見つかりません」と表示してソースファイルを添付する必要があると思いますか?しかし、なぜそれに入ることができないのですか?私はctrl+rightを使用することができます。ソースを取得して添付する方法をクリックしてください。

+0

JDKのソースを添付する必要があります。つまり、ソースのJAVAファイルがどこにあるかをEclipseに伝えます。 –

+0

こんにちは私はsrc.zipを付けました。問題は私がコードでステップできないことです。次の行に直接移動します。 – user1722361

+0

'charAt'関数でF3を押してください。それはソースにブラウズされますか?はいの場合は、内部でブレークポイントを設定しようとします。ここでの問題は、さまざまなコンポーネントがさまざまなjarとソースを参照し、すべてのバージョンを検証しようとしていることを意味します。 –

答えて

5

EclipseがJDKで動作するように設定されていない可能性がありますが、代わりにJREで実行される可能性があります。
チェックthis link
また、私はあなたのJavaプロジェクト管理にMavenを試してみることを提案するかもしれません。それは、あなたがそれを理解したときの生活をずっと簡単にします。

+0

私の友人に感謝します。実際にはjdk/jreを既に使用するように設定しました。私はソースファイルにbpを設定することができますが、プログラムはその中で停止できません。それに、私はまだライブラリメソッドに入ることができません。 – user1722361

2

プロジェクトで使用しているライブラリのコードを見るには、ソースとJavaDocを接続してビルドパスを設定する必要があります。

Source Lookup

+0

こんにちは、ありがとう、私はsrc.zipを添付して、私はF3でコードを見ることができます。問題は、たとえ私がbpを設定したとしても、私はソースコード(src.zip)に入ることができないということです。例えばin charAtメソッド。プログラムはString.javaのbpで停止しません – user1722361

0

あなたが設定した "ソース添付ファイルを" 持っていけないように思えます。 「環境設定」 - >「Java」 - >「インストール済みJRE」に移動します。使用するJREを選択して「編集」をクリックし、jrを選択して「ソース添付ファイル」をクリックして、jdkに付属のsrc.zipにソース添付ファイルを設定します。 Shiftキーを押しながらクリックすることで、すべてのジャーを同時に選択することができます。

5

「ステップフィルタリング」機能が有効になっている可能性があります。

デバッグ時には、デバッガが本当に興味のない内部クラスにステップインするときに、時には少し迷惑になることがあります。このため、「ステップフィルタ」を設定できます。ステップフィルタとして追加されたクラスまたはパッケージは、「ステップイン」操作では無視されます。

あなたはクラス/パッケージはステップフィルターに含まれるべきかを設定したい場合は、あなたがに行くことができます:
Window --> Preferences --> Java --> Debug --> Step Filtering
私の推測では、デバッガがステップすることはありませんことを意味し、そこに定義されたjava.*パッケージフィルターを持っているということです"java"で始まるパッケージ内の任意のクラスに追加します。あなたが代わりにjava.lang.String

にステップすることができるようにしたい場合は、完全にフィルタリングステップを有効化/無効化したい場合は、以下に示すように、あなたは、デバッグビューでUse step filteringボタンをクリックすることで、これを行うことができ、このパッケージフィルタをオフにします:

この のSystem.out.println(「テスト」)あなただけのシステムをクリックすると、あなたがソースを添付するためにリダイレクトされますF3をクリックしてSystemクラスにステップインしたい場合は、コードの作品で例えば

Toggling step filtering

0

あなたがまだ添付していない場合は、コードを追加してください.jdkのsrcフォルダを添付してください

関連する問題