Java 我如何才能看到strackrace,它包含由我的方法生成的帧?
在Android Studio中,我以调试模式运行应用程序,并将其加载到模拟器中。然后我在应用程序中点击UI,这样我的用户定义方法就会被调用,从而生成堆栈跟踪。我按pause,查看Debugger->threads and frames窗口,但它只显示一般平台特定的帧,而没有显示我的帧。 当我设置一个断点时,我的帧确实会出现,但当我只按“暂停”时,为什么它不起作用呢?为什么在那之前所有的帧都不可见Java 我如何才能看到strackrace,它包含由我的方法生成的帧?,java,android,debugging,android-studio,callstack,Java,Android,Debugging,Android Studio,Callstack,在Android Studio中,我以调试模式运行应用程序,并将其加载到模拟器中。然后我在应用程序中点击UI,这样我的用户定义方法就会被调用,从而生成堆栈跟踪。我按pause,查看Debugger->threads and frames窗口,但它只显示一般平台特定的帧,而没有显示我的帧。 当我设置一个断点时,我的帧确实会出现,但当我只按“暂停”时,为什么它不起作用呢?为什么在那之前所有的帧都不可见 因此,如果没有设置断点,我如何才能看到strackrace,它还包括我的方法生成的帧,如果没有,为
因此,如果没有设置断点,我如何才能看到strackrace,它还包括我的方法生成的帧,如果没有,为什么不可能呢?尝试计算自与UI交互到按下调试器的“暂停”按钮所经过的时间。这段时间足够让您留下自己的方法,并返回到调用侦听器/回调的框架代码 要在不使用任何调试器的情况下查看堆栈跟踪,只需使用:
new Throwable("tada!!!").printStackTrace();
然后检查logcat输出。或者,您可以存储可丢弃的
文件,并在以后打印其堆栈跟踪。要将其转换为字符串,请使用Log.getStackTraceString()
,这样就可以通过调试器获得“内置”行为,您必须干预该过程