javap -l опция не может отображать информацию о номере строки

StackOverflow https://stackoverflow.com/questions/7321743

  •  27-10-2019
  •  | 
  •  

Вопрос

А 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 опция пуста.

Кто -нибудь когда -нибудь сталкивался с таким странным случаем?

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

Решение

Используйте -g для составления вашего кода, в противном случае номера строк не хранятся (сродни трассировке стека, отображающую «Компилированный код» вместо номера строки)

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