Pregunta

los javap El comando tiene varias opciones, una de ellas es -l, que puede imprimir el número de línea y las tablas variables locales. Supongamos que un programa Java se ha compilado correctamente y está el archivo "Main.Class", por lo que ejecutar javap -l Main puede producir algo como:

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;

Sin embargo, estoy usando esto javap -l xxx Comando en los archivos de clase de un programa Java, pero el área del número de línea y la tabla de variables locales están vacías (lo que no debería estar). los javap comando y otras opciones como -s, -verbose funciona bien, pero solo el área de información de línea correspondiente al -l La opción está vacía.

¿Alguien ha encontrado alguna vez un caso tan extraño?

¿Fue útil?

Solución

Use -g para compilar su código, de lo contrario, los números de línea no se mantienen (similar a la traza de pila que muestra "código compilado" en lugar del número de línea)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top