2010-06-30 3 views
19

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

Спасибо.

ответ

19

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

+0

Я согласен, что это стоит того, но я не был уверен, какую информацию я должен видеть. –

+3

Я предлагаю вам просто попробовать. Это скажет вам, что вы * видите. ИМО, это лучше, чем я, пытаясь описать то, что вы * должны видеть. –

11

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

+4

'javap -l path/to/Class', где' -l' * Распечатывает таблицы строк и локальных переменных * – stivlo

Смежные вопросы