我正在研究现有的基于Java EE的应用程序。 不知何故,这些功能并没有由他们编写。
当我在Linux服务器中发现日志时,我发现了这个例外
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.cyber.EasyOptions.view(EasyOptions.java:2054)
这究竟意味着什么?
这个特殊类EasyOptions存在于我们代码中的jar文件中。
我正在使用JD-GUI反编译器,当导航到这个特殊jar时,看到这个类EasyOptions,内部视图方法没有这样的行(2054) 所以不知道我们可以用这种方式匹配行号吗?
我想我们不能用这种方式匹配行号,我的问题如何才能找出确切的错误行?
答案 0 :(得分:3)
猜测有一个名为EasyOptions的类,并且有一个方法视图,里面有这个异常吗?
这是正确的。
我正在使用JD-GUI反编译器,当导航到这个特殊的jar时,看到这个类EasyOptions,里面的视图方法没有这样的行(2054)
行号仅在原始源代码的上下文中有意义。反编译的代码与原始代码不同,并且具有不同的行编号。
我们如何找出确切的误差线
如果没有原始的源代码,那将会非常棘手。缩小可能性的一种方法是查看EasyOptions.view()
的反编译代码,查找正在访问数组的位置。