91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

發布時間:2020-09-04 13:00:36 來源:腳本之家 閱讀:215 作者:維C果糖 欄目:編程語言

在調試代碼的過程中,為了更好的定位及解決問題,有時候需要我們使用遠程調試的方法。在本文中,就讓我們一起來看看,如何利用 IntelliJ IDEA 進行遠程 Tomcat 的調試。

首先,配置remote:

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

如上圖所示,點擊Edit Configurations,進入如下界面:

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

如上圖所示,我們進入了Run/Debug Configurations界面,然后點擊左上角的+,選擇Remote:

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

  1. 標注 1:運行遠程 JVM 的命令行參數;
  2. 標注 2:傳輸方式,默認為Socket;
  3. 標注 3:調試模式,默認為Attach;
  4. 標注 4:服務器 IP 地址,默認為localhost,需要修改為目標服務器的真實 IP 地址;
  5. 標注 5:服務器端口號,默認為5005,需要修改為目標服務器的真實端口號;
  6. 標注 6:搜索資源是使用的環境變量,默認為<whole project>,即整個項目。

如上圖所示,其中 標注 2 和 標注 3 又分別有兩種分類,對于 標注 2,

標注 2:傳輸方式,默認為Socket;

  1. Socket:macOS 及 Linux 系統使用此種傳輸方式;
  2. Shared memory: Windows 系統使用此種傳輸方式。

對于 標注 3,

標注 3:調試模式,默認為Attach;

  1. Attach:此種模式下,調試服務端(被調試遠程運行的機器)啟動一個端口等待我們(調試客戶端)去連接;
  2. Listen: 此種模式下,是我們(調試客戶端)去監聽一個端口,當調試服務端準備好了,就會進行連接。

然后,復制 標注 1,即 IntelliJ IDEA 自動生產的命令行參數,然后導入到 Tomcat 的配置文件中。以 Linux 系統為例,導入語句為:

復制代碼 代碼如下:

export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

如果是 Windows 系統,則導入語句為:

復制代碼 代碼如下:

set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

兩者的區別在于導入語句的關鍵字不同以及有無引號,Linux 系統的導入關鍵字為export,Windows 為set;Linux 的導入值需要用單引號''括起來,而 Windows 則不用。

接下來,修改 Tomcat 的 bin 目錄下的catalina.sh文件(如果是 Windows 系統則修改catalina.bat文件),將上述的導入語句添加到此文件中即可:

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

至此,IntelliJ IDEA 遠程調試 Tomcat 的配置已經完成了,調試的后續步驟按正常的調試技巧進行就可以啦!

+++++ 題外話:我是一個大彩蛋 +++++

在這里,我們假設服務器的 IP 地址為10.11.12.39,端口號為16203,設置完成后,進入Debug模式,如果連接成功,則會出現如下提示:

詳述IntelliJ IDEA遠程調試Tomcat的方法(圖文)

此外,如果我們是跨多個系統進行調試,則只需要在想要調試的系統中配置Remote,打上斷點,啟動Debug模式,然后在服務開始的地方執行程序即可進入到我們設置的斷點。而且,如果我們在本地配置Remote并關聯到某個 Tomcat,在Debug模式下,所有涉及到斷點所在代碼的功能,都會進入我們設置的斷點。

例如,對于服務器上的 Tomcat A,多個系統都用到了這個 Tomcat,如訂單子系統、賬戶子系統、路由子系統等,并且多個系統間互相調用,如訂單子系統調了賬戶子系統,賬戶子系統又調了路由子系統,則當我們在這三個子系統中配置Remote并在對應的代碼(如在訂單子系統中查詢商戶的賬戶信息,則調到賬戶子系統;在賬戶子系統中又通過路由子系統調到其他底層服務查詢商戶的賬戶余額等)上打上斷點,啟動Debug模式之后,通過單元測試或者頁面操作觸發訂單子系統中的查詢商戶的賬戶信息功能,則會依次進入到在上述三個子系統中設置的斷點。

此外,在我們配置完遠程調試之后,就算別人啟動相關服務,也會進入到我們的斷點,而且會受到我們設置的斷點的影響,只有在我們執行完測試之后,服務才會繼續執行下去。最后,遠程調試的功能真的很強大,善用遠程調試,遠離 Bug!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城步| 昆山市| 五华县| 西乌珠穆沁旗| 息烽县| 石台县| 高淳县| 泗洪县| 朝阳区| 汉中市| 桃江县| 翁牛特旗| 绥德县| 连云港市| 余庆县| 商都县| 增城市| 车险| 喀喇沁旗| 嘉兴市| 玉门市| 平安县| 沧州市| 蒙山县| 洞口县| 长寿区| 商洛市| 明星| 称多县| 勐海县| 贺兰县| 天柱县| 南昌县| 五大连池市| 怀远县| 盐城市| 会东县| 龙口市| 台安县| 澄迈县| 南安市|