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

标签 java android debugging android-studio callstack

在 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/

相关文章:

java - 从文件读取的数据不会显示在 JTable 中

android - 如何在 Android 中的编辑文本中完成文本后调用方法

android - 连结 3 : Version clash for one artifact in two different repos of one group

ios - 启动调试 session 时 Xcode 项目强制关闭

java - 如果没有 super 类, super 构造函数?

java - Appengine JDO,如何检索知道子属性和父键的子对象?

java - 我正在从 Firebase 拍摄数据,但无法将其添加到列表中

php - 如何调试 Silex Framework 中的 php fatal error

java - JBoss 在 Debug模式下速度极慢

java - 这种情况需要同步吗