L'opzione Javap -l non è in grado di visualizzare le informazioni sul numero di riga

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

  •  27-10-2019
  •  | 
  •  

Domanda

Il javap Il comando ha diverse opzioni, una di queste è -l, che può stampare il numero di riga e le tabelle variabili locali. Supponiamo che un programma Java sia stato compilato con successo e che c'è il file "Main.class", quindi in esecuzione javap -l Main può produrre qualcosa di simile:

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;

Tuttavia, lo sto usando javap -l xxx Comando sui file di classe di un programma Java, ma l'area del numero di riga e la tabella variabile locale è vuota (che non dovrebbe essere). Il javap comando e altre opzioni come -s, -verbose Funziona bene, ma solo l'area di informazioni sulla linea corrispondente a -l l'opzione è vuota.

Qualcuno ha mai incontrato un caso così strano?

È stato utile?

Soluzione

Usa -G per compilare il codice, altrimenti i numeri di riga non sono mantenuti (simili alla traccia dello stack che visualizza "codice compilato" anziché il numero di riga)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top