適用版本
VS 2010 / 2012 / 2013 / 2015 / 2017 / 2019 / 2022 步驟大同小異。
目標機器部署 Remote Debugger
- 開發機複製
Visual Studio 安裝目錄\Common7\IDE\Remote Debugger 整個資料夾到目標機(或從 Microsoft 下載中心 下載對應版本)。
- 目標機執行
x64\msvsmon.exe (64 位元應用) 或 x86\msvsmon.exe。
- 工具列 → 工具 → 選項:
- 驗證模式:**Windows 驗證**(預設無驗證不支援中斷點)。
- 勾選「允許任何使用者偵錯」或指定允許帳號。
- 防火牆:自動開啟 4026/4027 連接埠(或手動新增輸入規則)。
- 確認視窗顯示
Msvsmon 已在 新的使用者 模式 啟動伺服器... 及連接埠號。
帳號同步關鍵
開發機與目標機**必須存在相同使用者名稱與密碼**的本機帳號(或同網域帳號)。
控制台 → 使用者帳戶 → 管理其他帳戶 → 新增帳號,密碼一致。
Visual Studio 連接偵錯
- 開發機以 **不同使用者身分** 執行 VS:Shift+右鍵 VS 圖示 → 以不同使用者身分執行 → 輸入目標機帳號密碼。
- 開啟專案,設定中斷點。
- 偵錯 → 附加至處理序 (或 Ctrl+Alt+P):
- 連線類型:**預設值** (Default)。
- 合格項:輸入目標機 **IP 或主機名:連接埠** (如 `192.168.1.50:4026`)。
- 按 重新整理,選取目標處理序 (如 `w3wp.exe`、`MyApp.exe`),點擊 附加。
- 中斷點變實心紅點即成功附加,觸發中斷點進行偵錯。
Web 應用 / Web Service 額外設定
- 目標機 `web.config`:
<compilation debug="true" targetFramework="4.x" />。
- 部署時勾選「發行 PDB 符號檔」或手動複製 `.pdb` 到 `bin\` 目錄。
- IIS 應用程式集區身分需具備程式碼目錄讀取權限。
常見失敗排查
| 現象 | 原因與解決 |
| 找不到遠端偵錯器 / 連線失敗 | 防火牆阻擋 → 關閉或開啟 4026/4027 TCP 入站規則;IP 錯誤;msvsmon 未啟動。 |
| 中斷點變空心 (未載入符號) | PDB 檔案遺失或版本不符 → 重新部署含 PDB 的建置輸出;模組視窗確認符號載入狀態。 |
| 驗證失敗 | 帳號/密碼不一致;未選 Windows 驗證;跨網域需完整 UPN (user@domain)。 |
| 附加成功但不中斷 | Release 建置最佳化導致指令重排 → 改 Debug 建置;條件中斷點條件未滿足。 |
VS 2022 新功能
- 遠端偵錯支援 **SSH 通道** (Linux 容器/WSL2) 無需開放連接埠。
- 即時程式碼編輯 (Edit and Continue) 於遠端 .NET Core/.NET 5+ 應用可用。
- 偵錯器視窗整合「即時運算監看」、「平行堆疊」、「事件斷點」。
- 上一篇文章: Visual Studio 2015 必裝免費擴充:Refactoring Essentials 重構神器
- 下一篇文章: .NET 微信公眾號開發:訊息處理核心架構實作
Copyright ©
程式碼之家 All Rights Reserved