java程序員必會(huì)的遠(yuǎn)程debug教程
正文
現(xiàn)在都是拆分的比較細(xì)的微服務(wù)了,當(dāng)系統(tǒng)運(yùn)行在測(cè)試環(huán)境出現(xiàn)問題的時(shí)候,就需要按照日志來分析出什么問題了。有的能看出來,要是年久失修的老項(xiàng)目,那么說不定連log都沒有。純純的看源碼找問題,效率就很低了。
其實(shí)這個(gè)時(shí)候還可以遠(yuǎn)程debug,來更精確的定位問題。效率也是高高滴。
這個(gè)之前在工作中其實(shí)一直在使用,但是不知道咋配置的,今天就找了一些資料,自己實(shí)際配置了一下。
下邊我們介紹下如何操作:
啟動(dòng)添加參數(shù)
啟動(dòng)的時(shí)候添加如下參數(shù):
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=192.168.1.101:7891 -jar demo-0.0.1-SNAPSHOT.jar
參數(shù)大概講一下:
transport
指定了調(diào)試數(shù)據(jù)的傳送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享內(nèi)存方式,其中,dt_shmem只適用于Windows平臺(tái);
address
調(diào)試服務(wù)器的端口號(hào),客戶端用來連接服務(wù)器的端口號(hào);
server=y/n
VM 是否需要作為調(diào)試服務(wù)器執(zhí)行;
suspend=y/n
是否在調(diào)試客戶端建立連接之后啟動(dòng) VM;
啟動(dòng)成功后顯示如下:
配置idea
我我們可以去idea配置了。
點(diǎn)擊 editConfigurations...
點(diǎn)擊左上角的+號(hào),選擇Remote Jvm Debug
填寫地址和端口號(hào)
點(diǎn)擊apply,點(diǎn)擊OK
啟動(dòng)debug模式
這時(shí)就可以點(diǎn)擊debug按鈕啟動(dòng)了
成功會(huì)有如下提示:
測(cè)試
編寫測(cè)試代碼如下:
@Slf4j @RestController @RequestMapping("test") public class TestDebug { @GetMapping(value = "debug/{num}") public String verifyNum(@PathVariable Integer num) { int a = num; log.info("接收到參數(shù){}",a); return "ok"; } }
當(dāng)使用瀏覽器訪問這個(gè)接口,并在log位置添加斷點(diǎn)的時(shí)候
http://192.168.1.101:8080/test/debug/1
就會(huì)走進(jìn)斷點(diǎn),并顯示我們傳入的值。
這個(gè)時(shí)候就可以愉快的debug啦。
以上就是java程序員必會(huì)的遠(yuǎn)程debug教程的詳細(xì)內(nèi)容,更多關(guān)于java遠(yuǎn)程debug的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java final 和instanceof 關(guān)鍵字的區(qū)別
這篇文章介紹了java final 和instanceof 關(guān)鍵字的區(qū)別,有需要的朋友可以參考一下2013-09-09JAVA使用POI獲取Excel的列數(shù)與行數(shù)
Apache POI 是用Java編寫的免費(fèi)開源的跨平臺(tái)的 Java API,Apache POI提供API給Java程式對(duì)Microsoft Office格式檔案讀和寫的功能。 下面這篇文章給大家介紹了JAVA使用POI獲取Excel列數(shù)和行數(shù)的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12java讀取resources文件詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了java讀取resources文件詳解及實(shí)現(xiàn)代碼的相關(guān)資料,在開發(fā)項(xiàng)目的時(shí)候經(jīng)常會(huì)遇到讀取文件夾里面的內(nèi)容,需要的朋友可以參考下2017-07-07