2012-02-09 11 views
1

rt.jarのクラスにブレークポイントを設定できませんか?Java実行時ライブラリ(rt.jar)のブレークポイント

私は何かをデバッグしていますし、この平均値を、私はのjava.sql.DriverManagerにブレークポイントを配置する必要がありますが、できるだけ早く私はいくつかの場所にブレークポイントを置くと、日食がメッセージ

Unable to install breakpoint in java.sql.DriverManager due to missing line number attributes. Modify compiler options to generate line number attributes 

ないで私を促しそのJavaランタイムクラスはデバッグのためにコンパイルされませんでしたか?はいの場合、なぜそのようなことが行われますか?助けてください!

Edit1:私はリモートデバッグを行っていますが、実際のWebアプリケーションはLinuxマシンのtomcatで動作しています。私はWindowsマシンを使用しています。どのrt.jarがここの犯人ですか、私のマシンのマシンかリモートマシンのマシンですか? rt.jarが行番号などの有用な情報でコンパイルされていない可能性はありますか?

Edit2:この質問への回答には詳細がありますLocally declared variables can not be inspected これはなぜデバッグシンボルなしでコンパイルされるのですか?メタデータを保持するためにパフォーマンスにどのような影響を与えますか?

+0

のNetBeans 7.1、JDK 1.6.30、win7の、過去のRTでDriverManagerクラス – Dapeng

+1

のためのブレークポイントを設定する問題のない優先に

ゴーClassfiel世代でチェック 第二オプションデバッグシンボル付き.jarはjava.netからダウンロード可能です。しかし、今私はそれのトラックを見つけることができません。 – Mersenne

答えて

3

クラスがデバッグスイッチ(-g)でコンパイルされていない場合、特定の行にブレークポイントを設定することはできません。

しかし、デバッグのためにクラスがコンパイルされていない場合でも、メソッドにブレークポイントを設定することはできます(eclipse:メソッドを定義する最初の行にブレークポイントを設定します)。

ローカル変数にアクセスすることはほとんどなく、コードをステップ実行する行が表示されません。これにより、デバッグが少し難しくなりますが、特に元のソースコードが分かっている場合は、何が起きているか(たとえば、引数の値を調べるなど)を見ることができます。

しかし、あなたのrt.jarがデバッグ情報でコンパイルされていないのだろうかと思います。

0

それは食の設定です。エラーメッセージによって明らかなように、あまりにも 2nd Option checked in Classfiel Generation

+0

ええ、私の質問は...これらの設定でコンパイルされたrt.jarではないのですか? – Ashish

+1

ああ、私はあなたの最後の行を見逃していました...そして、私のjdk 1.6.0でプラスしました。私は常にrt.jar内でデバッグすることができます。あまり注意を払わないのは残念です。それは特定のクラスにコンパイルされたtaht wasyだけが沸騰します。 –

+0

もDriverManager内でデバッグできますか?私はこの問題を抱えているリモートデバッグのためですか? – Ashish

関連する問題