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