在 Android Studio 中,我在 Debug模式下运行应用程序,并将其加载到模拟器中。然后我通过单击 UI 浏览应用程序,以便调用我的用户定义的方法来生成堆栈跟踪。我按下暂停键,查看 Debugger->threads and frames 窗口,但它只显示一般平台特定的框架,而没有我的。 当我设置一个断点时,我的帧确实出现了,但为什么当我按下暂停时它不起作用?为什么直到那时所有的帧都不可见?
那么在没有放置断点的情况下,我如何才能看到还包括由我的方法生成的帧的 strackrace,如果不是,那为什么不可能呢?
最佳答案
尝试计算从您与 UI 交互到按下调试器的“暂停”按钮为止经过了多少时间。这次足以离开您自己的方法并返回调用您的监听器/回调的框架代码。
要在没有任何调试器的情况下查看堆栈跟踪,只需使用:
new Throwable("tada!!!").printStackTrace();
然后只需检查 logcat 输出。或者,您可以存储 Throwable
并稍后打印其堆栈跟踪。要将其转换为字符串 - 使用 Log.getStackTraceString()
。
关于java - 如何查看包含我的方法生成的帧的 strackrace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688731/