2010-07-06 278 views
3

如何通過eclipse跟蹤堆棧?在我的代碼中,我試圖上傳文件,當我在應用程序中執行文件上傳操作時,它只是掛起而沒有錯誤消息。我試過調試,但沒有太大的幫助。eclipse中的堆棧跟蹤

回答

1

我建議使用eclipse調試器來找出它掛起的位置。這將在您逐步完成時自動爲您提供堆棧跟蹤。

我找到了「步入」(F5)功能最有用的,這可以讓你遞歸下降到功能,探索發生了什麼。

您可以設置你的文件上傳代碼開頭的斷點,這樣你就可以開始通過大約在正確的地方步進。在我的Eclipse版本中,堆棧跟蹤顯示在相應線程下方左上方的「調試」窗格中。

2

假設您從Eclipse運行應用程序,但在Glassfish或Tomcat等Java EE容器內調用異常對象上的printStackTrace()方法(捕獲時)將在Eclipse的控制檯窗口中顯示堆棧跟蹤。在你的情況下,你首先需要知道是否拋出異常。我不建議在運行時創建一個Exception對象,以便從中推斷出堆棧跟蹤。

這是當然的,不是一個好的做法編寫生產質量的代碼時,你應該看看使用log4j的一樣,七月或SLF4J日誌框架來跟蹤應用程序的行爲。

如果推來推去,使servlet容器的調試(這從容器到容器而異),讓您可以跟蹤除了應用程序容器本身的行爲。

2
  • 在服務器上啓動JDK bin文件夾中的「jvisualvm」作爲與啓動Glassfish相同的用戶。
  • 通過雙擊「本地」下的相應條目附加到Glassfish進程。
  • 在線程面板上單擊線程轉儲按鈕。
  • 將堆棧跟蹤複製到剪貼板。
  • 在Eclipse中,將堆棧跟蹤粘貼到控制檯面板的Java堆棧跟蹤控制檯視圖中。