私はバグを追跡するのに本当の問題を抱えており、どのメソッドが特定のメソッドを呼び出したか知ることは大いに役立ちます。 Javaから呼び出し階層を取得する簡単な方法はありますか? Javaは、アプリケーションの小さな部分ですので、私はコンパイルすることはできませんし、eclipse/net beansでアプリケーション全体を実行するので、IDEデバッガの呼び出し階層にアクセスすることはできません。Javaで呼び出し階層を取得する
6
A
答えて
14
Thread.currentThread().getStackTrace();
または
Exception ex = new Exception();
ex.printStackTrace();
それはかなり遅いが、デバッグのための罰金です。 API docs here。
0
Javaのリモートデバッグ機能を試しましたか? Google search to get you started if you haven't
0
1
Javaはアプリのごく一部なので、Eclipse全体/ネットBeanでアプリケーション全体をコンパイルして実行することはできません。したがって、IDEデバッガの呼び出し階層にアクセスすることはできません。
あなたはアプリケーションをまったく実行する必要はありません。 Eclipseでプロジェクトを作成する場合は、組み込みのCall Hierarchyツールを使用して、メソッドを呼び出す可能性のある場所をすべて見つけることができます。
トレードオフ:コール階層ツールは、メソッドが呼び出された場所のすべてを提供します。あなたがすべての可能性を知りたい/必要とするなら、これは良いことです。 Neslsonの提案Thread.currentThread().getStackTrace()
は、この呼び出しのためのプログラムのプロセス中にメソッドが呼び出される場所を示します。この呼び出し中にすべてのコードパスを実行しない可能性があるというニュアンスがあります。特定の動作が表示され、その動作状況を知りたい場合は、getStackTrace()
オプションを使用してください。
関連する問題
- 1. Intellijで完全な呼び出し階層を取得する方法
- 2. C#:コードからの呼び出し呼び出し階層
- 3. コンストラクタ呼び出しの階層
- 4. Rubyメソッド呼び出し階層
- 5. IntelliJのフィールド階層の呼び出し
- 6. Eclipse/PyDevの呼び出し階層を改善する
- 7. クラス階層内外の呼び出し側を区別する
- 8. Resharperイベント呼び出しチェーンの階層構造ですか?
- 9. プログラムによるEclipseの呼び出し階層へのアクセス
- 10. 階層レベルでオントロジークラスを取得する
- 11. eclipseでは、「呼び出し元の階層を表示」と「呼び出し先の階層を表示」の違いは何ですか?
- 12. Eclipse呼び出し階層ビューで呼び出し関数のファイル名を表示する方法
- 13. Javaマップ階層でフィールドを取得する方法は?
- 14. Javaでクラス階層を取得するには?
- 15. NSView - スーパービュー階層を取得
- 16. クラス階層のメソッド呼び出しの演習
- 17. マルチスレッド時間ベースの呼び出し階層
- 18. 関数呼び出し階層の文書化
- 19. 角4:等しい階層の2つのコンポーネント間でパブリックメソッドを呼び出す
- 20. 子階層のパスをJavaの親まで取得
- 21. Javaツリー階層
- 22. Javaで呼び出されるメソッドのスタックを取得する
- 23. ループ内の非同期関数の階層を呼び出しますか?
- 24. Java抽象クラス階層と多態メソッド呼び出しと定義を整理する方法
- 25. 呼び出し::取得()
- 26. Javaでネットワークパケット階層を作成する
- 27. Java zk階層フェッチデータベース
- 28. sql階層テーブルからツリーを取得
- 29. 階層&データ構造Javaで
- 30. Entity Frameworkで階層的にデータを取得します
コールの階層ではなく、スタックトレースが本当に必要なように聞こえます。 (質問の件名を編集することは可能ですか?) –
微妙な違いがない限り、スタックトレースは呼び出し階層です。 –
コールの階層構造は、プロシージャを呼び出すことができるすべての場所のツリーです。 –