2011-12-13 11 views
9

¿Cómo puedo saber si las clases compiladas de Java tienen metadatos de depuración incluidos?¿Cómo se sabe desde el archivo .class si se incluyen los metadatos de depuración?

Opcional:

Sería bueno sólo si pude ver si los metadatos de depuración es líneas, vars o la fuente o la combinación de algunos de ellos.

Se encontró una buena herramienta para ver los archivos .class (http://www.codexterity.com/classexp.htm) pero ahí es donde estoy estancado, no estoy seguro de dónde buscar. Gracias.

Respuesta

9

En esencia, no hay código de bytes en el archivo de clase que tiene información de depuración.

Si ejecuta javap -v en el archivo de clase, verá la información de depuración que está disponible. Vale la pena compilar una clase de prueba simple con diferentes configuraciones de opción -g y ver los resultados con javap.

Ver Check if Java bytecode contains debug symbols para más.

1

Normalmente solo se incluyen los números de línea, pero puede usar la opción '-g', esta opción genera toda la información de depuración, incluidas las variables locales.

leer sobre Debug information in Java .class files

+0

Mi pregunta es más acerca del proceso inverso, ¿cómo puedo saberlo desde el archivo .class si se compiló con la opción -g o tal vez -g: ninguna (sin información de depuración)? Gracias por el enlace. –

Cuestiones relacionadas