2011-04-12 196 views
1

我的servlet正在拋出NullPointerException。我想顯示完整的堆棧調用跟蹤,以便我可以找出正在拋出異常的行號。從NullPointerException獲取堆棧跟蹤

我該怎麼做?我已經使用fillInStackTrace()。它不打印行號。

+2

AFAIK堆棧跟蹤應該在運行時異常中自動填充,您不需要做任何特定的操作。你能發佈實際的代碼來顯示異常堆棧跟蹤嗎? – 2011-04-12 09:33:14

+0

是否要顯示在服務器控制檯\日誌中或作爲對客戶端/瀏覽器的響應的一部分? – anirvan 2011-04-12 09:33:52

+0

作爲迴應的一部分。應該出現在頁面上。 – prometheuspk 2011-04-12 10:05:47

回答

6

您是否嘗試過使用e.printStackTrace()

1

假設你正在蹤跡不帶行號(這是什麼的問題的最後一句似乎在說),那麼問題是,你的代碼已經沒有調試信息編譯。您將需要重新編譯它...

  • 如果您使用Maven構建,您應該默認獲取調試信息。檢查java插件配置中的maven.compile.debugmaven.compile.debuglevel屬性;看http://maven.apache.org/maven-1.x/plugins/java/properties.html

  • 如果你使用Ant構建,請確保<javac>任務具有debug='true'並檢查debuglevel屬性。

  • 如果您正在通過運行javac目錄構建,則應該默認獲取行號。根據javac manual page檢查-g選項。