Вопрос

Для нашего проекта мы делаем вид обратной машины. Для этого мы должны отлаживать третьей стороной банку.

Я попробовал отменить этот банок с DJ, JAD, но вывод является исходным кодом со временным ошибками компиляции (скажем, тип возврата - логический прототип метода, но возвращается INT, сломанный для петлей и т. Д.).

Теперь, из этого поврежденного исходного кода, есть несколько файлов .java, которые я хочу отладить. И я хочу прикрепить эти несколько файлов исходного кода с соответствующими классами в банке.

Я гугул за это, но не нашел ничего полезного. ????

Это было полезно?

Решение

Блокировщик состоит в том, что декомпилы, скорее всего, не могут переписать исходный файл с правильными номерами строки. Итак, даже если скомпилированная lib имеет соответствующую информацию о номере строки, используя декомпилируемый вывод из коробки не будет работать.

Вы сможете установить точки останова в методе (до тех пор, пока информация о номере строки доступна в файлах скомпилированного класса), даже не задействуя исходный код. Вы можете даже иметь возможность прочитать значения локальных переменных (снова, если классы были составлены с помощью отладки информации), но тогда вы должны посмотреть на вывод декомпилятора и надежда на лучшее, что декомпиляционный метод достаточно близко к Реальный код.

Это не невозможно, но требует некоторой «ручной» работы.

Другие советы

Вы не упомянули, какие IDE вы используете для отладки. Eclipse запрашивает источники, если пытаться отладки классов, которые доступны только в классе. Основная проблема заключается в том, что andreas_d уже упоминал номера не подходящих линий.

Я бы попробовал следующее.

  1. Удалить все декомпилированные файлы Java с не было декомпилировано в рабочем состоянии.
  2. Попробуйте собрать каждый рабочий декомпилированный файл Java с помощью оригинальной банки в классе. Это позволяет создавать новые классы файлы с правильной линией Infos для отладки.
  3. Теперь замените файлы классов в файл JAR с теми, которые вы успешно перекомпилировали. Добавьте также файлы Java. Ваша отладка IDE должна автоматически распознать исходные файлы.

Чтобы приложить исходный код для класса в Java Code:

  • Щелкните правой кнопкой мыши на желаемый класс

  • Перейти к открытой декларации F3
    Редактор файлов класса откроет кнопку «Прикрепить исход»

  • Просматривать банку, которая имеет исходный код

  • Щелчокu003COk>
    После выполнения вышеуказанного шага открытая декларация откроется .Class файл имея исходный код.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top