如何从.class文件中判断是否包含调试元数据?

11

我如何知道编译的Java类中是否包含调试元数据?

可选:

如果我能看到调试元数据是行、变量还是源代码,或者它们的某些组合,那就太好了。

找到了一个查看.class文件的好工具(http://www.codexterity.com/classexp.htm),但我不确定应该在哪里查看。谢谢。

2个回答

11

基本上,在类文件中有包含调试信息的字节码。

如果你在类文件上运行javap -v,你将会看到可用的调试信息。值得注意的是,使用不同的-g选项设置编译一个简单的测试类,并通过javap观察结果。

更多信息请参见检查Java字节码是否包含调试符号


1
通常只包括行号,但你可以使用'-g'选项,该选项会生成所有的调试信息,包括局部变量。
阅读关于Java .class文件中的调试信息

我的问题更多关于反向过程,我如何从 .class 文件中知道它是使用 -g 还是 -g:none(无调试信息)选项编译的?感谢提供链接。 - Haris Krajina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接