【发布时间】:2019-03-08 19:59:52
【问题描述】:
在 Android 4.3 嵌入式(自定义)设备上,我试图通过在 Service 子类 onStartCommand 方法中设置断点来调试我的应用程序。当我在断点处暂停时,由于 ANR 没有意识到我正在调试,dalvik 杀死了我的应用程序。
logcat 显示:
W/ANRWatchdog: An ANR was detected but ignored because the debugger is connected (you can prevent this with setIgnoreDebugger(true))
I/dalvikvm: threadid=3: reacting to signal 3
D/dalvikvm: threadid=1: still suspended after undo (sc=1 dc=1)
I/dalvikvm: Wrote stack traces to '/data/anr/traces.txt'
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'
请注意,我的应用中有一个 ANRWatchDog,它可以正确识别调试会话并忽略 ANR。
有没有办法对 Dalvik 做同样的事情?我假设可以在不因 ANR 而崩溃的情况下调试服务。
【问题讨论】: