当我使用Eclipse ADT在真实设备(HTC One S)上调试我的Android程序时,堆栈跟踪中的最后一个元素始终是“< VM不提供监视器信息>”。这意味着我无法知道代码中的哪个部分导致异常。有没有办法获得这些信息?
示例堆栈跟踪:
Thread [<1> main] (Suspended (exception IllegalStateException))
<VM does not provide monitor information>
Choreographer.doCallbacks(int, long) line: 563
Choreographer.doFrame(long, int) line: 529
Choreographer$FrameDisplayEventReceiver.run() line: 719
Handler.handleCallback(Message) line: 615
Choreographer$FrameHandler(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 155
ActivityThread.main(String[]) line: 5454
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 1029
ZygoteInit.main(String[]) line: 796
NativeStart.main(String[]) line: not available [native method]
答案 0 :(得分:0)
如果您设置了Eclipse以打破未处理的异常,Eclipse会在 LogCat有机会记录内容之前中断。
我所知道的主要选项是:
首先不要破坏未处理的例外,或
按调试工具栏中的“运行”选项继续执行Eclipse的断点,因此LogCat可以记录异常