2011-12-13 12 views
9

Come posso sapere se le classi Java compilate includono i metadati di debug inclusi?Come sapere dal file .class se sono inclusi i metadati di debug?

Opzionale:

sarebbe bello solo se ho potuto vedere se i metadati di debug è linee, VAR o fonte o una combinazione di alcuni di essi.

Trovato bello strumento per la visualizzazione di file .class (http://www.codexterity.com/classexp.htm) ma è lì che sono bloccato non so dove cercare. Grazie.

risposta

9

In sostanza, v'è bytecode nel file di classe che hanno informazioni di debug.

Se si esegue javap -v nel file di classe, verranno visualizzate le informazioni di debug disponibili. Vale la pena compilare una semplice classe di test con diverse impostazioni dell'opzione -g e osservare i risultati con javap.

Vedere Check if Java bytecode contains debug symbols per ulteriori informazioni.

1

Normalmente sono inclusi solo i numeri di riga, ma è possibile utilizzare l'opzione '-g' questa opzione genera tutte le informazioni di debug, comprese le variabili locali.

leggere su Debug information in Java .class files

+0

La mia domanda riguarda più il processo inverso, come posso sapere dal file .class se è stato compilato con l'opzione -g o forse -g: none (nessuna informazione di debug)? Grazie per il link. –

Problemi correlati