Как я могу отслеживать / перехватывать пакеты из JDWP на виртуальную машину Android?
Я работаю над отладчиком Java, который использует JDWP, общаясь с Android VM.
Меня больше всего интересует переход с рабочего стола на эмулятор, а не на устройство. Я знаю, что на устройстве это совсем другое дело, поэтому я хочу сосредоточиться на переходе от настольного компьютера к эмулятору.
Я обнаружил, что некоторые распространенные команды пакетов JDWP получают ошибки "ERROR_NOT_IMPLEMENTED", поэтому было бы намного проще, если бы я мог шпионить или иметь возможность перехватывать пакеты JDWP, поступающие от известных работающих отладчиков, чтобы получить лучшее представление о том, какая комбинация команд они отправляют. Быть способным получить ответы тоже было бы хорошо.
Я посмотрел на Wireshark и WinDump, но все они, похоже, основаны на интерфейсе, и независимо от того, какие настройки я пытался использовать, я ничего не получаю по пакетам.
У меня вопрос, есть ли какой-нибудь инструмент, который я могу использовать для этого?
Спасибо!
1 ответ
У меня есть проект на GitHub, который позволяет вам "шпионить" за трафиком JDWP, я разработал его, когда работал над отладчиком NetBeans, чтобы помочь мне проанализировать проблемы, связанные с отладчиком.
Посмотрите здесь: https://github.com/kherink/jdwp-analyzer