Как отлаживать скомпилированный Java-код в Eclipse
Интересно, есть ли какие-либо решения для Eclipse IDE для отладки Java-кода, для которого у меня нет источника, т.е. для отладки динамически декомпилированного кода, перехода через него и т.д.? Я попытался использовать JD-Eclipse, JadClipse, и эти плагины отлично работают, если я хочу посмотреть некоторые файлы классов, но когда я отлаживаю, я получаю "Source not found". - как я могу "прикрепить" эти плагины к "обеспечить" источник?
Моя среда:
- Eclipse 3.5
- Windows XP (но, если возможно, я ищу кросс-платформенное решение)
Спасибо.
Ответы
Ответ 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 заключается в том, что номера строк отсутствуют, что очень затрудняет отладку, поэтому вам нужно
Ответ 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/
Ответ 8
Я улучшил плагин "Реорганизация для JD Eclipse", чтобы правильно выстраивать перечисления и поля и публиковать его вместе с JD Eclipse на моем собственном сайте обновлений: http://mchr3k-eclipse.appspot.com/
Подробности о моих изменениях: http://mchr3k-coding.blogspot.co.uk/2012/07/realignment-for-jd-eclipse.html