Приостановить приложение Android при отладке с помощью jdb, чтобы можно было установить контрольную точку

#java #android #adb #jdb

#java #Android #adb #jdb

Вопрос:

Используя инструменты разработчика на эмуляторе, я заставляю приложение ждать отладчика перед запуском, но сразу после подключения jdb приложение получит нежелательное, но обработанное исключение. Я не могу отладить это исключение, поскольку jdb не остановится на нем. Поэтому мне нужно иметь возможность установить catch java.lang.Exception перед продолжением работы приложения. Как я могу это сделать?

Я использую jdb с:

 adb forward tcp:7777 jdwp:$(adb jdwp | tail -1); jdb -sourcepath ./wallet/src -attach localhost:7777
  

Ответ №1:

Вы можете передать команду suspend в jdb, не передавая EOF, вот так:

 adb forward tcp:7777 jdwp:$(adb jdwp | tail -1); { echo "suspend"; cat; } | jdb -sourcepath ./wallet/src -attach localhost:7777