特定のブレークポイントにいるときにスタックトレースを取得する方法を探しています。これは可能ですか?理想的には、アプリケーションをクラッシュさせたり、コードを変更したりする必要はありません。Androidデバッガーで遊んでみましたが、なかなか役に立たなかったです。
その理由は、アプリケーションがコード内のある時点にどのように到達したかわからないことがあるため、メソッド呼び出しを追跡するのに役立つ他の提案を受け入れることができます。
これは Java で行うことができます。
new Throwable().printStackTrace();
Eclipse では、パースペクティブExpressions
ビューでそのコードを使用して「式」を作成するとDebug
、現在のスタック トレース (つまり、コードが停止したブレークポイントのスタック トレース) がConsole
ビューに出力されます。
Log.e("AppName", "Debug exception", new Exception());
最も簡単な方法は、例外をスローし、すぐにキャッチして使用することprintStackTrace()
です。
テキスト表現以外に何かしたい場合に備えてThread.currentThread().getStackTrace()
、これを試すこともできます。StackTraceElement[]
printStackTrace()