java程式設計經驗-java遠端除錯?

有時候開發環境下沒有問題的程式,在測試或生產環境下卻有bug,這時候我們需要遠端除錯,debug出問題所在

工具/原料

Eclipse

Tomcat

方法/步驟

第一步、配置tomcat

一、在windows系統中:

修改tomcat的啟動指令碼startup.bat。複製startup.bat為startup-debug.bat,然後開啟startup-debug.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%這一行,修改為“call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%”,然後在上面新增三行:

set JPDA_TRANSPORT=dt_socketset JPDA_ADDRESS=8787set JPDA_SUSPEND=n

address=8787 是沒被使用的埠號,dt_socket表示遠端除錯。

如下圖所示:

java程式設計經驗-java遠端除錯

二、Linux系統中:

把%CATALINE_HOME%/bin/startup.sh中的最後一行exec"$PRGDIR"/"$EXECUTABLE" start "[email protected]" 中的start改成jpda start .由於預設的埠是8000,所以如果8000埠已有他用的話,還需在catalina.sh檔案中設定:JPDA_ADDRESS=8787。

輸入命令startup.sh或者catalina.sh jpda start啟動tomcat。

配置完tomcat後重新啟動tomcat,如在控制檯輸出"Listening for transport dt_socket at address:8787",即說明在tomcat中設定成功!

第二步、配置eclipse:

在eclipse中選擇Run->Debug Configurations->Remote Java Application新建一個遠端除錯項。在“Name”輸入框中輸入遠端除錯的名稱,在“Project"中選擇要除錯的專案,在"Host"中輸入需要遠端除錯專案的IP,也就是tomcat所在的IP,在”Port“中輸入設定的埠號,比如上面設定的8787,然後勾選"Allow termination of remote VM" ,點選"debug"即可。如下圖:

java程式設計經驗-java遠端除錯

最後在本地的專案程式碼中設定斷點,就可以正常除錯了。

注意事項

保證要遠端除錯的程式碼和原生代碼一致

需要遠端除錯時,執行startup-debug.bat,不需要遠端除錯時,執行startup.bat

問題, 環境, 程式, 語音,
相關問題答案