と:
Object method(){
...
return /* some complex expression */
}
デバッグ中に返される値を確認する方法はありますか?どういうわけか、ブレークポイントを設定して、リターンの直後にヒットするが、実行の前に呼び出し元のコードに到達するのでしょうか?戻り値が何であるかを知り、すべてのローカル変数の値が何であるかを確認できるようにしたいと思います。
私が今やる方法は、一時変数を作成することです:Object ret = /* something complex */; return ret;
。しかし、これは面倒であり、余分な不要なコード行も追加します。
注:これは Visual Studioでのデバッグ中に戻る前に戻り値を見つけることができます と同じ質問ですが、intellijの場合です。
これを行うにはいくつかの方法があるようです。 1つ目は、メソッドシグネチャにブレークポイントを設定することです。この場合、Object method(){にブレークポイントを設定します。これにより、メソッドの入り口と出口を監視できます。上記のように「Watch method return values」と組み合わせて使用する必要があると思いますが、計算に時間がかかりすぎるため、これを完全にテストすることはできませんでした。注意、これはデバッガーのパフォーマンスを劇的に低下させ、デバッグに時間がかかります。
また、次のことを手動で行うこともできます。
注:ブレークポイントを作成する場合、IDEA=ブレークポイントでブレークする場合など)にできることはたくさんあります。ブレークポイントを右クリックしてプロパティをクリックすると、式を実行してログに記録するように指示できます。
[〜#〜] update [〜#〜]:最初の方法と組み合わせてこれを試してください。 「Watch method return values」を使用しないでください。デバッグセッションが遅くなったりフリーズしたりするようです。代わりに次のことを行います
メソッドブレークポイントは遅いので時間がかかることに注意してください。パフォーマンスヒットが多すぎる場合は、returnステートメントブレークポイントを設定して(メソッドブレークポイントを持たずに)メソッドブレークポイントを追加するだけです。 [〜#〜] after [〜#〜] returnステートメントのブレークポイントがヒットし、続行します。
お役に立てれば、
これはしばらく前に尋ねられましたが、この状況に対処したいときは別の方法を使用します。
デバッグ時には、式(場合によっては「return」の直後の式)をマークし、CTRL + ALT + F8(クイック評価式)を押すことができます。 IntelliJは、返される値を示す小さなウィンドウをポップアップします。