一、遠(yuǎn)程debug的原理
Spring Boot程序遠(yuǎn)程debug的原理主要是通過在啟動時指定JVM參數(shù)來啟用遠(yuǎn)程調(diào)試模式,并在調(diào)試器中連接到程序所在的調(diào)試地址,從而實(shí)現(xiàn)對程序的遠(yuǎn)程調(diào)試。
具體步驟如下:
- 在運(yùn)行Spring Boot程序時,在啟動命令的JVM參數(shù)中指定遠(yuǎn)程調(diào)試的相關(guān)配置,比如指定調(diào)試端口和允許遠(yuǎn)程連接等參數(shù),例如:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7005
- 啟動Spring Boot程序后,程序會監(jiān)聽指定的調(diào)試端口,并等待調(diào)試器連接。
- 在調(diào)試器中創(chuàng)建一個遠(yuǎn)程調(diào)試配置,配置連接到程序所在的服務(wù)器和指定的調(diào)試端口。
- 連接成功后,調(diào)試器就可以通過遠(yuǎn)程連接對程序進(jìn)行調(diào)試,包括設(shè)置斷點(diǎn)、查看變量值等操作。
Tips
: 需要注意的是,為了避免遠(yuǎn)程調(diào)試帶來的安全風(fēng)險,建議在生產(chǎn)環(huán)境中禁用遠(yuǎn)程調(diào)試功能。
二、Springboot程序開啟遠(yuǎn)程Debug
-
在
應(yīng)用配置(Application Config)
中選擇編輯配置(Edit Configuration)
-
然后選擇
添加新配置(Add New Configuration)
-
在展開的列表中選擇
遠(yuǎn)程 JVM 調(diào)試(Remote JVM Debug)
,點(diǎn)擊確定
-
根據(jù)圖中示例配置。
名稱
可以隨意起;主機(jī)
地址即遠(yuǎn)程的公網(wǎng)IP地址;端口
是指的遠(yuǎn)程Debug監(jiān)聽端口,而非該項目的服務(wù)端口;JDK
選擇項目開發(fā)對應(yīng)的JDK版本號;遠(yuǎn)程JVM的命令行參數(shù)
在配置完成以后拷貝下來;模塊類路徑
即選擇主程序包路徑。 -
利用Maven將項目打包
mvn clean package
,放到遠(yuǎn)程主機(jī)上,攜帶剛剛拷貝的啟動參數(shù)啟動項目,例如:文章來源:http://www.zghlxwxcb.cn/news/detail-492148.htmljava -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7005 -jar ******.jar
- 啟動本地調(diào)試,監(jiān)聽遠(yuǎn)程端口
當(dāng)控制臺打印“已連接到目標(biāo)”,說明本地項目已經(jīng)開始監(jiān)聽遠(yuǎn)程端口,此時可以開始遠(yuǎn)程Debug了
- 在本地代碼打上斷點(diǎn),使用postman訪問遠(yuǎn)程接口
- 觀察到Debug信息進(jìn)入到本地,說明配置成功了。
三、注意事項
- 在生產(chǎn)環(huán)境中不建議開啟遠(yuǎn)程debug: 開啟遠(yuǎn)程debug會增加程序的額外開銷,包括網(wǎng)絡(luò)開銷和調(diào)試信息的生成,還會造成接口阻塞。
- 調(diào)試信息的保護(hù): 調(diào)試信息中可能包含敏感信息,如密碼、私鑰等,需要仔細(xì)過濾或禁止傳遞這些信息。特別是在使用公共網(wǎng)絡(luò)時,要注意調(diào)試信息的保護(hù)和加密。
- 調(diào)試客戶端和服務(wù)端的一致性: 調(diào)試客戶端和服務(wù)端必須保持一致,包括調(diào)試器的版本、JDK的版本和框架的版本等。否則可能會導(dǎo)致不可預(yù)期的問題。
- 調(diào)試范圍的限制: 開啟遠(yuǎn)程debug時,要明確授權(quán)訪問權(quán),限制調(diào)試的范圍,避免潛在的安全風(fēng)險。
- 資源占用問題: 調(diào)試信息的生成和傳輸可能會占用大量的資源,包括CPU和內(nèi)存等,如果不加注意可能會影響程序的正常運(yùn)行
綜上所述,使用遠(yuǎn)程debug需要慎重考慮,僅在必要時才應(yīng)該使用,并且要嚴(yán)格控制權(quán)限和范圍,避免潛在的安全風(fēng)險。文章來源地址http://www.zghlxwxcb.cn/news/detail-492148.html
到了這里,關(guān)于Springboot程序開啟遠(yuǎn)程DEBUG的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!