溫馨提示×

Java在Debian上的遠程調試如何操作

小樊
42
2025-10-04 11:38:42
欄目: 編程語言

Java在Debian上的遠程調試操作步驟

1. 準備工作:安裝JDK

確保Debian系統已安裝JDK(建議使用OpenJDK 11及以上版本),可通過以下命令安裝并驗證:

sudo apt update
sudo apt install openjdk-11-jdk
java -version  # 驗證安裝(需顯示JDK版本信息)

2. 配置Java應用支持遠程調試

在啟動Java應用時,需添加JVM參數以啟用遠程調試。常用參數如下(以Spring Boot jar包為例):

nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar your-application.jar &

參數說明

  • transport=dt_socket:使用Socket協議進行調試通信(最常用);
  • server=y:應用作為調試服務器,等待IDE連接;
  • suspend=n:應用啟動時不暫停(若設為y,則啟動后會等待調試器連接后再繼續執行);
  • address=*:5005:監聽所有網絡接口的5005端口(*表示允許遠程連接,可替換為具體IP)。

3. 配置IDE(以IntelliJ IDEA為例)

通過IDE連接遠程調試服務,步驟如下:

  1. 打開IntelliJ IDEA,點擊頂部菜單欄 Run → Edit Configurations;
  2. 點擊左上角 + 號,選擇 Remote JVM Debug;
  3. 在右側配置界面填寫:
    • Name:自定義配置名稱(如“Debian Remote Debug”);
    • Host:遠程服務器的IP地址(如192.168.1.100);
    • Port:與JVM參數中address字段一致的端口號(如5005);
  4. 點擊 Apply → OK 保存配置。

4. 啟動遠程調試會話

  1. 確保遠程服務器上的Java應用已啟動(且監聽指定端口);
  2. 在IntelliJ IDEA中選擇剛配置的遠程調試配置,點擊工具欄的 Debug 按鈕(綠色蟲子圖標);
  3. 若連接成功,IDE會顯示“Connected to the target VM”日志;
  4. 在本地代碼中設置斷點(需確保本地代碼與遠程服務器上的代碼版本一致),通過瀏覽器或命令行訪問遠程應用,觸發斷點后,IDE會暫停執行,可查看變量值、調用棧等信息。

5. 注意事項

  • 代碼一致性:本地代碼與遠程服務器上的代碼必須完全一致(包括依賴庫版本),否則斷點可能無法命中;
  • 防火墻設置:確保遠程服務器的防火墻允許調試端口的入站連接(如5005端口),可通過以下命令開放端口:
    sudo ufw allow 5005/tcp
    
  • 網絡穩定性:遠程調試依賴網絡連接,建議在局域網內操作,避免因網絡延遲影響調試效率;
  • 生產環境謹慎使用:遠程調試會暴露應用內部狀態,生產環境建議僅在必要時使用,使用后及時關閉調試端口。

可選:使用命令行工具(JDB)調試

若不想使用IDE,可通過Java自帶的命令行調試工具jdb連接遠程調試服務:

  1. 啟動遠程調試服務(同步驟2);
  2. 在本地終端執行以下命令連接遠程服務:
    jdb -connect com.sun.jdi.SocketAttach:hostname=192.168.1.100,port=5005
    
  3. 連接成功后,使用jdb命令(如stop at MyClass:10設置斷點、run啟動調試、next單步執行)進行調試。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女