intellij 直接debug線上的java應用
1.加入
java -Xdebug -Xrunjdwp:transport=dt_socket,address=9527,server=y,suspend=y -jar lib/HelloAntWorld.jar
關于這個exec.sh文件,≈Windows上的batch文件。第一個應該是注釋,第二行的echo即回顯命令,可以打印一行話。第三行是重點,我們知道如果僅僅是執(zhí)行這個HelloAntWorld.jar,可以寫成:java -jar lib/HelloAntWorld.jar
而中間這些參數(shù)正是為了Remote debug而設:
-XDebug啟用調試
-Xrunjdwp加載JDWP的JPDA參考執(zhí)行實例。
transport 用于在調試程序和 VM 使用的進程之間通訊。
dt_socket套接字傳輸。
server=y/nVM 是否需要作為調試服務器執(zhí)行。
address=9527調試服務器監(jiān)聽的端口號。
suspend=y/n是否在調試客戶端建立連接之后啟動 VM 。
關于suspend多說一句,如果設置為y,它會阻塞程序運行,直到有客戶端連接到對應的監(jiān)聽端口(這里是9527),程序才真正開始執(zhí)行。我們有時候會抱怨程序一閃而過,還沒來得及在本地加載上代碼程序就執(zhí)行完了,這種情況就可以使用suspend參數(shù)。
還有一個細節(jié)是-jar參數(shù)不能寫到-Xdebug參數(shù)前,像這樣無法啟用調試:
java -jar lib/HelloAntWorld.jar -Xdebug -Xrunjdwp:transport=dt_socket,address=9527,server=y,suspend=y
二.設置intelli

debug內容

本文僅代表作者觀點,版權歸原創(chuàng)者所有,如需轉載請在文中注明來源及作者名字。
免責聲明:本文系轉載編輯文章,僅作分享之用。如分享內容、圖片侵犯到您的版權或非授權發(fā)布,請及時與我們聯(lián)系進行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com






