如何查看包含我的方法生成的帧的 strackrace?

How can I see the strackrace that includes the frames generated by my methods?

在 Android Studio 中,我 运行 应用程序处于调试模式,将其加载到模拟器中。然后我通过单击 UI 浏览应用程序,因此我的用户定义的方法被调用以生成堆栈跟踪。我按下暂停键,查看 Debugger->threads and frames window,但它只显示了一般平台特定的框架,没有显示我的。 当我设置一个断点时,我的帧确实出现了,但为什么当我按下暂停时它不起作用?为什么到那时所有的帧都不可见?

那么,如果没有放置断点,我如何才能看到还包括我的方法生成的帧的 strackrace,如果不是,那为什么不可能呢?

尝试计算从您与 UI 交互到按下调试器的 "Pause" 按钮已经过了多少时间。这一次足以让您自己的方法和 return 回到调用您的侦听器/回调的框架代码。

要在不涉及任何调试器的情况下查看堆栈跟踪,只需使用:

new Throwable("tada!!!").printStackTrace();

然后检查 logcat 输出。或者,您可以存储 Throwable 并稍后打印其堆栈跟踪。要将其转换为字符串 - 使用 Log.getStackTraceString().