javap option -l ne peut pas afficher les informations de numéro de ligne

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

  •  27-10-2019
  •  | 
  •  

Question

La commande javap a plusieurs options, l'un d'entre eux est -l, qui peut imprimer le numéro de ligne et des tables de variables locales. Supposons qu'un programme Java a été compilé avec succès et il y a le fichier « Main.class », en cours d'exécution afin javap -l Main peut produire quelque chose comme:

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;

Cependant, j'utilise cette commande javap -l xxx sur les fichiers de classe d'un programme java, mais la zone de numéro de ligne et d'une table variable locale est vide (ce qui ne devrait pas être). La commande javap et d'autres options telles que -s, œuvres -verbose bien, mais seulement la zone d'information de ligne correspondant à l'option -l est vide.

Quelqu'un at-il jamais rencontré ce cas bizarre?

Était-ce utile?

La solution

Utilisez -g pour compiler votre code, sinon les numéros de ligne ne sont pas conservés (semblable à la trace de la pile affiche « code compilé » au lieu du numéro de ligne)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top