Android: приложение dalvik killing из-за ANR в точке останова отладчика - PullRequest
0 голосов
/ 08 марта 2019

На встроенном (настраиваемом) устройстве Android 4.3 я пытаюсь отладить свое приложение, установив точку останова в подклассе Service для метода onStartCommand.Когда я остановился на точке останова, dalvik убивает мое приложение из-за того, что ANR не понимает, что я отлаживаю.

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.

1 Ответ

3 голосов
/ 08 марта 2019

В настройках разработчика есть опция «выбрать приложение для отладки». Нажмите на это и выберите приложение, которое вы будете отлаживать. Это должно предотвратить появление ANR для этого приложения во время его отладки. Он также включает параметр «ждать отладчика», который, если он включен, приостанавливает работу приложения при его запуске, поэтому вы можете подключить отладчик и отладить код запуска приложений, если это необходимо.

...