关于远程调试
關于遠程調試
文章目錄
- 關于遠程調試
- 基本原理
- 示例
- 注意事項
- 參考鏈接
基本原理
本機和遠程主機的兩個VM之間使用 Debug 協議通過 Socket 通信,傳遞調試指令和調試信息。
被調試程序的遠程虛擬機:作為 Debug 服務端,監聽 Debug 調試指令。
示例
以在idea中配置Resin遠程調試為例進行說明。
進入resin配置文件:resin/config/resin.properties 修改jvm_args
| -XDebug | 啟用調試。 |
| -Xnoagent | 禁用默認sun.tools.debug調試器。 |
| -Djava.compiler=NONE | 禁止 JIT 編譯器的加載。 |
| -Xrunjdwp | 加載JDWP的JPDA參考執行實例。 |
| transport | 用于在調試程序和 VM 使用的進程之間通訊。 |
| dt_socket | 套接字傳輸。 |
| dt_shmem | 共享內存傳輸,僅限于 Windows。 |
| server=y/n | VM 是否需要作為調試服務器執行。 |
| address=3999 | 調試服務器的端口號,客戶端用來連接服務器的端口號。 |
| suspend=y/n | 是否在調試客戶端建立連接之后啟動 VM 。 |
按照下圖依次配置:
注意事項
- 遠程連接失敗
確認端口是否可通
- 無法進入斷點
本地需要與服務端保持代碼一致
參考鏈接
- 深入 java debug 原理及遠程remote調試詳解
- IDEA實現遠程調試步驟詳解
- resin遠程debug配置
總結
- 上一篇: Antdv日期选择组件国际化问题
- 下一篇: mysql 配置文件设置最大链接数 ma