2011-07-17 26 views
2

是否有任何免費軟件開源工具,通過它我們可以找到空指針異常或任何其他常見異常,尤其是.java文件.......?有沒有在Java文件中找到空指針異常的工具..?

在此先感謝,

我覺得發現錯誤幫助我......? M我沒錯....?

+0

我投票結束此問題作爲題外話,因爲 - 答案將來自搜索。問題沒有關聯。 – Jayan

回答

5

PMDFindBugs是進行代碼基本靜態分析的常用工具。除其他事項:

  • 可能的錯誤 - 空的try/catch /終於/ switch語句
  • 死碼 - 未使用的局部變量,參數和私有方法
  • 次優碼 - 浪費字符串/ StringBuffer的用法
  • 過於複雜的表情 - 不必要的,如果語句,for循環,可能是while循環
  • 重複碼 - 複製/粘貼代碼意味着複製/粘貼錯誤

查找空指針異常是一個非常困難的問題,但帶有註釋(例如,標記什麼可以和不可以爲空)有軟件來幫助。 IntelliJ支持這樣的註釋並提供檢查來識別違規。

0

這些可以是靜態代碼分析器的一部分,如Together architect或其他靜態代碼分析器工具。 查找錯誤也應該有所幫助。

它不會明確地找到這些NP例外,但是可能導致NP例外的可疑例外。

HTH

-1

我認爲Infer靜態代碼分析工具(被Facebook引入)是能夠解決這個任務。

推斷檢查器NULL_DEREFERENCE在特定LOC上警告您關於潛在的NPE,如下所示:「對象的最後一個分配給第4行可能爲空,並且在第5行取消引用」。此頁面包含精確解釋此(NPE)情況的短視頻:http://fbinfer.com/

+2

雖然此鏈接可能回答此問題,但最好在此處包含答案的重要部分並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

+0

請原諒我。如果我有機會提供更具體的答案,可以這樣做:推斷檢查器NULL_DEREFERENCE在特定的LOC上警告您關於潛在的NPE,如下所示:「最後在第4行分配的對象可能爲空,並在第5行解除引用。此頁面包含精確解釋此(NPE)情況的短視頻:http://fbinfer.com/ – Yurka

+2

Yurka,請編輯您的答案以反映您在評論中傳達的其他信息。 – MarsAtomic