在Android Studio中,我在调试模式下运行应用程序,将其加载到模拟器中。然后我浏览应用程序点击UI,以便调用用户定义的方法以生成堆栈跟踪。我按下暂停,查看Debugger->线程和框架窗口,但它只显示一般平台特定的框架,而不是我的。 当我设置一个断点时,我的框架会出现,但是当我按下暂停时为什么它不起作用?为什么在此之前所有帧都不可见?
那么如何在不放置断点的情况下看到包括我的方法生成的帧的strackrace,如果不是为什么不可能呢?
答案 0 :(得分:1)
尝试计算自用户与用户界面进行交互以及按下调试器的“暂停”按钮后经过的时间。这个时间足以留下你自己的方法并返回到框架代码,它已经调用了你的监听器/回调。
要查看堆栈跟踪,而不使用任何调试器,只需使用:
new Throwable("tada!!!").printStackTrace();
然后只检查logcat输出。或者,您可以存储Throwable
并稍后打印其堆栈跟踪。要将其转换为字符串,请使用Log.getStackTraceString()
。