有没有办法按需打印堆栈跟踪?

我正在寻找一种方法来获得一个堆栈跟踪,当我在一个特定的断点。 这可能吗? 理想情况下,不必崩溃应用程序和修改代码。 我试着玩Androiddebugging器,但找不到任何有用的东西。

原因是有时我不确定应用程序是如何到达代码中的,所以我接受其他的build议,以帮助我追踪方法调用。

Solutions Collecting From Web of "有没有办法按需打印堆栈跟踪?"

这可以在Java中完成:

new Throwable().printStackTrace(); 

在Eclipse中,如果在Debug透视图的Expressions视图中使用该代码创build“expression式”,它将在Console视图中打印当前堆栈跟踪(即代码停止的断点的堆栈跟踪)。

 Log.e("AppName", "Debug exception", new Exception()); 

最简单的方法是抛出exception,立即捕获并使用printStackTrace()

你也可以尝试使用Thread.currentThread().getStackTrace() ,如果你想除了文本表示printStackTrace()所做的任何事情,它会给你一个StackTraceElement[]