Java服務(wù)實現(xiàn)開啟Debug遠程調(diào)試
一、背景
日常項目中,通常我們的代碼都是部署到遠程的服務(wù)器,有時線上出現(xiàn)了問題,
經(jīng)常需要我們增加一些日志來排查問題,但是如果是測試環(huán)境的場景下或者我們能進行遠程調(diào)試的話,
我們就可以使用遠程的Debug方式進行遠程調(diào)試,不用頻繁的修改代碼部署到遠程服務(wù)器上。
這時就需要我們的服務(wù)需要開啟遠程Debug了。
二、相關(guān)圖示說明

三、具體操作步驟
1、服務(wù)端配置
通常debug模式是關(guān)閉的,如果沒有特地打開的話,通常是通過設(shè)置JVM啟動參數(shù)來實現(xiàn)。
你可以使用以下參數(shù)來啟動Java程序,并開啟調(diào)試功能:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888(debug監(jiān)聽端口號)
進行java -jar后面進行啟動,代表我們的服務(wù)端開啟的debug模式,并監(jiān)聽了8888的端口。
備注:
- suspend 參數(shù)如果設(shè)置為 y,則表示在調(diào)試客戶端連接之前,JVM 會暫停執(zhí)行;
- 如果設(shè)置為 n,則表示即使沒有調(diào)試客戶端連接,JVM也會繼續(xù)執(zhí)行。
2、客戶端配置
如果你想在本地機器上的8000端口監(jiān)聽調(diào)試請求,可以這樣啟動Java程序:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888(遠程的Debug服務(wù)端口)
在IDEA的應(yīng)用下可以用這個方式進行設(shè)置:

添加一個遠程debug, 然后配置好對應(yīng)的服務(wù)端的端口:

然后選擇對應(yīng)服務(wù)器的代碼,使用debug的模式進行啟動,這樣本地就能連上遠程的服務(wù)開始debug了。
后面的操作就跟本地debug一樣,選擇需要斷點的代碼,進行斷點操作即可。
總結(jié)
至此Java服務(wù)開啟Debug的遠程調(diào)試就介紹完了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
這篇文章將通過Java實現(xiàn)一個簡答的圖書管理系統(tǒng),本圖書管理系統(tǒng)用對象數(shù)組的方式來提供操作方法,比較特別,建議新手學習,這對理解Java面向?qū)ο笥泻艽髱椭?/div> 2022-11-11
Java實現(xiàn)PDF在線預(yù)覽功能(四種方式)
這篇文章主要介紹了Java實現(xiàn)PDF在線預(yù)覽功能的四種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Spring Cloud Hystrix 線程池隊列配置(踩坑)
這篇文章主要介紹了Spring Cloud Hystrix 線程池隊列配置(踩坑),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
SpringBoot?Web請求響應(yīng)詳細代碼示例
在Web開發(fā)中請求和響應(yīng)是必不可少的環(huán)節(jié),Spring Boot Web應(yīng)用中請求響應(yīng)的分層解耦是構(gòu)建高效、可維護系統(tǒng)的關(guān)鍵實踐,下面這篇文章主要介紹了SpringBoot?Web請求響應(yīng)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09
SpringMVC HttpMessageConverter報文信息轉(zhuǎn)換器
??HttpMessageConverter???,報文信息轉(zhuǎn)換器,將請求報文轉(zhuǎn)換為Java對象,或?qū)ava對象轉(zhuǎn)換為響應(yīng)報文。???HttpMessageConverter???提供了兩個注解和兩個類型:??@RequestBody,@ResponseBody???,??RequestEntity,ResponseEntity??2023-01-01最新評論

