2016-08-20 39 views
0

我在我的luminus應用程序中有NullPointerException [no message]。該代碼很長,在這裏發佈,我無法找到錯誤的來源。在日誌中沒有提及「NullPointerException [no message]」,並且在瀏覽器中錯誤沒有意義,並且錯誤的確切位置和變量未精確顯示。NullPointerException [無信息] - 如何找到它的源代碼?

如何追蹤導致錯誤的原因?

回答

-1

空指針異常是由於訪問/使用保存該值的變量而引起的。作爲程序員,我們必須對從其他函數返回值的變量進行空查找。

如果你想跟蹤它只是保持調試點,你從哪個動作得到這個錯誤n chuck哪個變量你的訪問爲空值。

+0

「如果你想跟蹤它只是不斷調試點從集體訴訟」 - 怎麼樣? – Johshi

+0

動作(在struts中)/控制器導致你拋出異常。 – Veeresh123

+0

或者如果你知道哪個類/方法拋出異常,那麼在進入或開始類/方法前保持斷點 – Veeresh123

0

,我認爲這樣的錯誤的做法是

  • ,如果它是一個新的錯誤(最近開始發生),那麼很可能它是由最近添加的代碼引起的。所以使用該代碼作爲起點
  • 查看是否有任何可能返回nil值的API調用。嘗試用一個接一個地替換每個具有真實硬編碼值的API,並且一旦找出哪個API調用正在返回nil,然後深入挖掘,看看您是否仍然看到錯誤
  • ,再傳遞任何錯誤的參數給API,或導致一些情況下,由於它被返回nil

HTH :)

+0

no api calls .... – Johshi

+0

'然後深入挖掘,看看你是否將任何錯誤的參數傳遞給API,' - 賓果。又怎樣? – Johshi

+0

您需要檢查API的簽名(源代碼和/或文檔)。 ps:通過API我真的意味着任何內部/外部功能 –

相關問題