我正在研究一个使用ASM库生成JVM字节码的项目。 当我做错了某些事情并且字节码验证失败时,JVM将打印此描述性错误消息,其中包含一个名为Bytecode的部分,它以十六进制文字表示。
示例错误消息:
java.lang.VerifyError: Bad type on operand stack
....
....
Bytecode:
0x0000000: 014d 014e 0336 0401 3a05 013a 0601 3a07
0x0000010: 013a 0801 3a09 013a 0a01 3a0b 013a 0c01
0x0000020: 3a0d 013a 0e01 3a0f 013a 1001 3a11 013a
0x0000030: 1201 3a13 013a 1401 3a15 0336 1601 3a17
....
....
如何使用此打印的错误消息来确定字节码验证失败的原因。是否有关于调试此类错误的任何文档。