私はIntelliJ IDEA 14.1.5を使用して、サードパーティ製のJar(JTidy)でメソッドを呼び出すJavaプログラムを実行しています。IntelliJ IDEAはサードパーティ製のjarでメソッドにステップインしません
このjarのソースが添付されています。そのメソッドの1つを強調表示してctrl-B
を押してその宣言に行くと、IDEAは正しくそこに行きます。
私はこのメソッド内で、私が知っている文が実行されていることにブレークポイントを設定します。
私はすべて設定>ビルド、実行展開>デバッガ>ステッピングのフィルタをステップオフにしました。
java.lang.String.append()
のように、JCLのメソッドにステップインすると正しく動作します。
しかし、このサードパーティ製のjarに入ると動作しません。フォースステップイントも機能しません。そのコード内のブレークポイントも機能しません。メソッド全体がステップオーバーとして扱われます。つまり、検査するプロセスの正確なポイントを見ることはできません。
これを機能させるにはどうすればよいですか?ソースをアタッチすると、少なくともone other answer on another SO question that suggests that this should workがあることを除いて、必ずしもそのコードのデバッグが有効になるわけではありません。ヒントはIntelliJ's documentation on debuggingです。
ヒント:このような特定の製品のバグの種類の質問は、ここではまれに良い回答となると思います。むしろ、JetBrainフォーラムやバグトラッカーに切り替えることをお勧めします。あなたは最終的にIntelliJがA)より多くの洞察B)多くの動機づけとC)潜在的なバグを修正する手段を持っている人々によって所有されている製品であることが分かります。 – GhostCat
フェアポイント。私がここに求めている一つの理由は、製品固有のものではなく、バグではなく、むしろいくつかの一般的な詳細が欲しいということです。 ...例えば、私はこのジャーがデバッグ情報をオンにしてコンパイルされていないと強く信じています。しかし、私は、デバッガがそこに入るのを止めることはないという印象を与えられています。たとえば、IDEA 13以降では、バイトコードとソースの両方を持っていると仮定すると、教育上の推測が可能です。 –