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

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

原因是有时候我不确定应用程序是如何到达代码中的某个点的,因此我对其他可以帮助我跟踪方法调用的建议持开放态度。

这可以用Java完成:

new Throwable().printStackTrace(); 

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

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

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

您还可以尝试使用Thread.currentThread().getStackTrace() ,除了具有printStackTrace()的文本表示外,还可以为您提供StackTraceElement[]