2009-06-24 71 views
1

我在使用Eclipse運行JBoss的遠程服務器上調試應用程序。我的特殊問題是JSP中的NullPointerException。 JSP在腳本內部有太多的Java代碼,但不幸的是,重構不會成爲一種選擇。找到引發NullPointerException的線路非常具有挑戰性,我陷入困境。如何在遠程JBoss服務器上調試JSP?

如何遠程調試此JSP以查找引發的scriplet行?

我最終通過註釋JSP行來找到問題,直到我將問題隔離開來。單調乏味,但它工作。

回答

2

您可以通過添加這樣的事情

-Xdebug -Xrunjdwp:transport=dt_socket,address=5001,server=y,suspend=n 

在命令行啓用某些應用服務器遠程調試。然後,在您的IDE中,連接到端口5001以進行遠程調試。 This page有各種應用服務器的例子。

我發現調試JSP有時可以很容易地完成,如果你有編譯JSP的Java源代碼。檢查您的應用程序服務器的JSP編譯手冊或預編譯您的JSP並保存.java文件;然後使用這些文件作爲調試器的源代碼。

1

通常,您將能夠在服務器日誌中找到錯誤。由於您正在遠程服務器上運行它,請轉至該計算機並檢查日誌。它應該指出錯誤。

如果我正在運行本地版本的站點,我發現它更容易調試,因爲我可以實時通過eclipse監視服務器日誌。也許值得建立一個可以開發的本地副本,然後在完全調試代碼時將其部署到遠程服務器。

希望這會有所幫助。

+0

末服務器日誌的線是: NullPointerException異常在 org.apache.jsp.myjsp._jspService(來源不明) 我可以縮小它的Java代碼在JSP拋出異常,但可以縮小線。 – Owen 2009-06-24 19:12:13

+0

聽起來像是從該JSP中除去了調試符號。即使調試也無濟於事。 – 2009-06-24 19:16:02

相關問題