java – 用于调试VerifyError的好工具

前端之家收集整理的这篇文章主要介绍了java – 用于调试VerifyError的好工具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现字节码 VerifyErrors臭名昭着地很难调试. JVM提供很少的反馈,通常只是当前的类,有时是方法.

通过ASMJasmin手动工程化字节码时,我通常会遇到的一些错误示例:

>堆栈大小太大
>无法从一个空的堆栈弹出操作数
>掉落代码的末尾
>期望在堆栈上找到对象/数组
>函数调用不兼容的对象参数
堆栈高度不一致4!= 2

(要清楚,我知道这些都是什么意思,我对调试其原因的工具或技术感兴趣.)

我的问题:有没有任何工具可以对这些类型的错误提供详细的反馈?我会喜欢诸如此类的信息

> javap-like输出
>引用行号(或操作码字节偏移)
>每行的操作数堆栈信息(类型/深度)
>更多描述性错误消息

解决方法

我想你可以使用ASM提供的CheckClassAdapter( http://asm.ow2.org/asm40/javadoc/user/org/objectweb/asm/util/CheckClassAdapter.html).它提供有关验证错误的更多详细信息.
原文链接:https://www.f2er.com/java/123990.html

猜你在找的Java相关文章