日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IDEA 远程调试

發(fā)布時間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IDEA 远程调试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

IDEA 遠(yuǎn)程調(diào)試,像運行本地代碼一樣調(diào)試遠(yuǎn)程主機上的程序,以排查遠(yuǎn)程程序的BUG或代碼執(zhí)行流程。
?

1 概述

原理:本機和遠(yuǎn)程主機的兩個 VM 之間使用 Debug 協(xié)議通過 Socket 通信,傳遞調(diào)試指令和調(diào)試信息。
被調(diào)試程序的遠(yuǎn)程虛擬機:作為 Debug 服務(wù)端,監(jiān)聽 Debug 調(diào)試指令。jdwp是Java Debug Wire Protocol的縮寫。
調(diào)試程序的本地虛擬機:IDEA 中配置的 Remote Server,指定 Debug 服務(wù)器的Host:Port,以供 Debug 客戶端程序連接。

2 設(shè)置

2.1 IDEA 中指定 Debug 服務(wù)器

  • 點擊主窗口菜單?Run / Edit Configurations,打開“Run/Debug Configurations”窗口;
  • 點擊工具欄上的“+”按鈕,下拉菜單中選擇“Remote”;
  • 設(shè)置 Host 為遠(yuǎn)程服務(wù)器的域名或IP,保持 Port=5005 無需調(diào)整;
  • 復(fù)制命令行參數(shù),形如?-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

2.2 遠(yuǎn)程服務(wù)中開啟 Debug 服務(wù)

2.2.1 對于 SpringBoot

命令行添加選項,并重啟:

## 注意新參數(shù)必須在 -jar 之前 jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar test.jar


啟動腳本中添加選項,并重啟:2.2.2 對于 Tomcat

## sudo vim $CATALINA_HOME/bin/catalina.sh JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"


2.3 遠(yuǎn)程服務(wù)器防火墻端口放行

### sudo vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5005 -j ACCEPT ### 重啟生效: sudo systemctl restart iptables


3 開始調(diào)試

要求:雙方代碼一致,否則遠(yuǎn)程調(diào)試無法啟動;

  • 本地啟動剛剛配置的 Remote Server,正常時會看到日志:?Connected to the target VM, address: 'xxx:5005', transport: 'socket'
  • 本地 IDEA 代碼中設(shè)置斷點
  • 瀏覽器或手機 HTTP 訪問服務(wù)器
  • IDEA 即可在斷點暫停并跟蹤

4 關(guān)閉調(diào)試

服務(wù)器上多開放個端口是不安全的,調(diào)試完畢后可恢復(fù)防火墻設(shè)置。
而 Java 服務(wù)器開啟 Debug 服務(wù)器的功能可以保留,以便之后再次調(diào)試。

總結(jié)

以上是生活随笔為你收集整理的IDEA 远程调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。