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?

War es hilfreich?

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)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top