コード内でどのメソッドが1つずつ呼び出されたかを知る必要があります。簡単なステップバイステップのデバッグは役に立ちません(あまり時間がかかりません)。これどうやってするの?コードを変更したりファイルに結果を保存することなくこれを行うのは本当に素晴らしいことです。Javaで呼び出されるメソッドのスタックを取得する
1
A
答えて
1
、あなたはBTraceやAdding logging with Java agentをチェックアウトすることができます。
1
プログラムが終了する前に、Thread.currentThread().getStackTrace();
を実行してから、これらの要素をそれぞれ印刷してください。スタックトレースはスレッドの実行順序を示します。
1
特に、既存のコードを変更しないことについて話すときには、クロスカッティングに関する懸念があります。
AspectJは、この作業をポイントカットを使用して行うことができます。それは多分あなたは、スタックツリーをチェックするだけのためにしたくないようですので
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html
1
プログラムで発生するメソッド呼び出しごとにを記録しますか?もしそうなら、AspectJを見てください - 特定のメソッドを記録する例はhereですが、すべてのメソッドをカバーするように簡単に変更できます。
0
printStackTrace()関数を使用して呼び出されたものをダンプすることができます。
try{
//Your code
}
catch(Exception e){
e.printStackTrace();
}
0
あなたは基本的にすべてのIDEは、デバッグモードを持っている...など、実行を一時停止するブレークポイントを設定する行ずつ進んで、変数を検査することができるでしょう、デバッグモードでコードを実行します。
関連する問題
- 1. Javaのメソッド呼び出しスタックのコピー
- 2. メソッドが呼び出されるオブジェクトの型を取得する
- 3. Javaメソッド呼び出しスタックを印刷するには?
- 4. WindowsでC++呼び出しスタックを取得する例
- 5. Javaメソッド呼び出しのCPU /スタックを制限しますか?
- 6. Funcで実行される呼び出されたメソッドの名前の取得
- 7. 別のメソッドを呼び出すメソッドを取得する方法
- 8. メソッドがJavaで呼び出された回数をカウントする
- 9. Androidのメソッド呼び出しスタック
- 10. beginInvokeで呼び出された非同期メソッドのパラメータ値を取得する
- 11. Java - getメソッドが呼び出されたときにクラス属性名を取得
- 12. Javaでのメソッド呼び出しが期待される
- 13. Javaメソッドを呼び出す
- 14. C#スタックがスタック上で呼び出されたときに検出する
- 15. Javaのログインのためにメソッドが呼び出されているクラスの名前を取得する
- 16. Webapiメソッド呼び出されない文字列パラメータで取得する
- 17. メソッドaaのブロックで宣言されたメソッドbbのメソッドbbの呼び出し元を取得する方法
- 18. Java - メソッドが呼び出される方法による制限
- 19. メソッドrubyを呼び出す際のサーバーエラー500を取得する
- 20. 呼び出し側のメソッドの名前を取得する
- 21. メソッド呼び出しをスタックする方法は?
- 22. javaメソッドをJavaScriptコードで呼び出す
- 23. HTMLでJavaメソッドを呼び出す
- 24. メインJavaでメソッドを呼び出す
- 25. Javaで静的メソッドを呼び出す
- 26. メソッド呼び出しからギザギザの配列を取得する
- 27. クリックビュー内でメソッドを呼び出す複数回呼び出される
- 28. setTimeoutを呼び出すと、呼び出しスタックがクリアされますか?
- 29. Java - ネストされたクラスのメソッド、特にActionListenerを呼び出す
- 30. Javaで呼び出し階層を取得する
これを確認してください:http://stackoverflow.com/questions/3256369/navigating-java-call-stack-in-eclipse/3256406#3256406 – dominicbri7