Подтвердить что ты не робот

Как отлаживать скомпилированный Java-код в Eclipse

Интересно, есть ли какие-либо решения для Eclipse IDE для отладки Java-кода, для которого у меня нет источника, т.е. для отладки динамически декомпилированного кода, перехода через него и т.д.? Я попытался использовать JD-Eclipse, JadClipse, и эти плагины отлично работают, если я хочу посмотреть некоторые файлы классов, но когда я отлаживаю, я получаю "Source not found". - как я могу "прикрепить" эти плагины к "обеспечить" источник?

Моя среда:

  • Eclipse 3.5
  • Windows XP (но, если возможно, я ищу кросс-платформенное решение)

Спасибо.

4b9b3361

Ответ 1

У меня есть хороший опыт работы с Jadclipse - http://jadclipse.sourceforge.net/wiki/index.php/Main_Page - есть сайт обновления на http://jadclipse.sf.net/update

Для получения наилучших результатов используйте jad и настройте его для отображения номеров строк в виде комментариев, которые будут включать вывод, где код находится на правильной строке. Это лучше всего подходит для отладки сеансов.

Затем установите для него представление по умолчанию для классов. Подробнее см. В документации. Это хорошо работает для меня.

Ответ 2

У меня та же проблема. Сегодня декомпиляторы не эффективны для отладки скомпилированного кода Java. Я работаю над JD-Eclipse. В ближайшие 3-6 месяцев макет JD-Eclipse должен быть действительно улучшен. Мы начнем отлаживать классы без источников и решать некоторые неразрешимые проблемы.

Ответ 3

Флаг перестройки для подключаемого модуля хоста JD-Eclipse. Этот плагин для Eclipse делает декомпилированные номера кодовых строк действительно соответствующими номерам строк из файла java-класса. В результате становится возможной отладка без исходного кода. https://sourceforge.net/projects/realignmentjd/

Ответ 4

Этот плагин, надеюсь, будет полезен. JD-Eclipse

В eclipse open Window → Настройки → Общие → Редакторы → Ассоциации файлов Выберите тип *.class Свяжите его с JD-Eclipse Установите его по умолчанию

Удача

Ответ 5

Декомпилируйте все классы, поместите все файлы Java, упорядоченные в правильной иерархии (каталог для пакета и т.д.), а затем добавьте их в качестве источника исходного флага, щелкнув правой кнопкой файл jar → Java Source Attachment → Внешняя папка.

Вы также можете использовать их внутри папки в проекте (в этом случае нажмите "Рабочая область" )

Ответ 6

Вы можете использовать JD-GUI для декомпиляции файлов jar и сохранения всей партии в исходный zip файл, который затем можно добавить в список исходного поиска (через Configure Build Path).

Проблема с JD-GUI заключается в том, что номера строк отсутствуют, что очень затрудняет отладку, поэтому вам нужно

  • извлечь исходные файлы из декомпилированного исходного zip файла
  • Запустите script, найденный в https://bushlife.com.au/groups/python/wiki/7539a/Adjust_line_numbers_in_file.html
  • zip сгенерированный исходный резерв
  • добавьте его как исходный путь, связанный с вашим java файлом, - используя Configure Build Path после щелчка правой кнопкой мыши на файле jar в вашем проекте java.

Ответ 7

Решение, которое сработало для меня, использует JD-Eclipse после применения патча: http://java.decompiler.free.fr/?q=node/464

Это расширение jd-eclipse, которое перестраивает код после декомпиляции.

При отладке с помощью eclipse вам просто нужно иметь файлы jar в пути к классам и это! Нет необходимости декомпилировать всю банку, перестроить или вообще... Просто отлаживайте и будьте счастливы: -)

Вот как это сделать: http://gauchoacomecable.wordpress.com/2011/10/14/eclipse-debug-java-without-source-code-jd-eclipse-and-realignment/