2012-04-27 23 views
1

我正在研究現有的基於Java EE的應用程序。 不知何故,這些功能無法正常工作。java:在我的案例中追查出錯誤行

,當我發現在Linux服務器日誌,我發現這個異常有

Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 
at com.cyber.EasyOptions.view(EasyOptions.java:2054) 

這是什麼意思?究竟

  1. 我想有一個名爲EasyOptions的類,在那裏有一個方法視圖,裏面有這個異常發生?

這個特殊的類EasyOptions存在於我們的代碼中的jar文件中。

我正在使用JD-GUI反編譯器,當瀏覽到這個特殊的jar包,並看到這個類EasyOptions,內部查看方法沒有這樣的行(2054) 所以不知道我們可以用這種方式匹配行號??

我想我們不能用這種方式匹配行號,我的問題我們如何找出確切的錯誤線?

回答

3

猜測有一個名爲EasyOptions的類,在那裏有一個方法視圖,裏面有這個異常發生?

這是正確的。

我使用JD-GUI反編譯並且當導航到該particualr罐子,並看到了這個類EasyOptions,視圖方法內沒有這樣的線(2054)

的行號時纔有意義在原始源代碼的上下文中。反編譯的代碼與原始代碼不同,並且會有不同的行號。

我們怎樣才能描繪出錯誤

的確切行沒有這將是棘手的原始源代碼。縮小可能性的一種方法是查看反編譯的代碼EasyOptions.view(),查找正在訪問數組的位置。