Javap -l -Option kann keine Zeilennummerinformationen angezeigt werden
Frage
Das javap
Der Befehl hat mehrere Optionen, einer davon ist -l
, die Liniennummer und lokale variable Tabellen drucken können. Angenommen, ein Java -Programm wurde erfolgreich zusammengestellt und es gibt die Datei "main.class", also läuft also javap -l Main
kann so etwas produzieren wie:
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;
Ich benutze das jedoch javap -l xxx
Befehl in den Klassendateien eines Java -Programms, aber der Bereich der Zeilennummer und der lokalen variablen Tabelle ist leer (was nicht sein sollte). Das javap
Befehl und andere Optionen wie z. -s
, -verbose
Funktioniert gut, aber nur der Linieninformationsbereich, der dem entspricht -l
Option ist leer.
Hat jemand jemals einen solchen seltsamen Fall gestoßen?
Lösung
Verwenden Sie -g, um Ihren Code zu kompilieren, andernfalls werden die Zeilennummern nicht aufbewahrt (ähnlich wie die Stapelverfolgung, in der "kompilierter Code" anstelle der Zeilennummer angezeigt wird)