检查Java字节码是否包含调试符号

Lau*_*ălu 22 java bytecode

我想知道如何检查编译的Java类是否包含调试符号.问题是我使用debug ="on"从ant编译应用程序,但是特定的JVM会抛出异常:它表示缺少调试符号.

谢谢.

Ste*_*n C 22

如果您javap -v在类文件上运行,您将看到可用的调试信息.值得编译一个带有不同-g选项设置的简单测试类,并查看结果javap.


Rai*_*dog 12

具有调试信息的类文件最重要的是LineNumberTable,它将字节码指令映射到源行号和LocalVariableTable,它告诉调试器您的本地变量,包括方法的参数在执行期间驻留在VM中.

  • `javap -l path/to/Class`,其中`-l`*打印出行和局部变量表* (8认同)