Опция javap -l не может отображать информацию о номере строки
javap
У команды есть несколько опций, одна из них -l
, который может печатать номер строки и таблицы локальных переменных. Предположим, что Java-программа была успешно скомпилирована, и существует файл "Main.class", поэтому javap -l Main
может производить что-то вроде:
public static void main(java.lang.String[]);
LineNumberTable:
line 100: 0
line 101: 27
line 275: 54
LocalVariableTable:
Start Length Slot Name Signature
0 55 0 args [Ljava/lang/String;
Тем не менее, я использую это javap -l xxx
Команда для файлов классов одной Java-программы, но область номера строки и таблицы локальных переменных пуста (чего не должно быть). javap
команда и другие параметры, такие как -s
, -verbose
работает нормально, но только область информации о строке, соответствующая -l
опция пуста
Кто-нибудь сталкивался с таким странным случаем?
1 ответ
Используйте -g для компиляции вашего кода, иначе номера строк не сохраняются (сродни трассировке стека с отображением "скомпилированного кода" вместо номера строки)