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

Убедитесь, что байт-код Java содержит отладочные символы

Я хотел бы знать, как я могу проверить, содержит ли скомпилированный Java-класс символы отладки. Проблема заключается в том, что я скомпилирую приложение из ant с debug = "on", но конкретная JVM генерирует исключение: он говорит, что символы отладки отсутствуют.

Спасибо.

4b9b3361

Ответ 1

Если вы запустите javap -v для файла класса, вы увидите доступную отладочную информацию.

Стоит скомпилировать простой тестовый класс с различными -g опции -g и посмотреть результаты с помощью javap.

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

Ответ 2

Самое важное, что будет содержать файл класса с информацией об отладке, - это LineNumberTable, который сопоставляет инструкции байткода номерам исходных строк и LocalVariableTable, которые сообщают отладчику, где локальные переменные, включая аргументы метода, находятся внутри виртуальной машины во время выполнения.