使用場景
假如你要開發的程序需要運行在獨特的硬件上,比如:服務器,然而這個"獨特的硬件"卻不能給你裝VS,這時候遠程調試就登場了.
測試工具/環境一覽
| Key | Value |
|---|---|
| VS版本 | VS2017 |
| 被調試程序net框架版本 | 4.0 |
| 目標設備系統 | Win7 32位 |
| 目標設備IP | 168.5.16.42 |
| 我自己的ip | 192.168.11.106 |
如果遠程機器沒密碼,需要配置這個

測試代碼
static void Main(string[] args)
{
Console.WriteLine("等待調試器...");
//這個屬性用來檢測本程序是否被調試器附加,開頭這一段一直循環,等待調試器附加上來再繼續執行代碼
while (!System.Diagnostics.Debugger.IsAttached)
{
System.Threading.Thread.Sleep(100);
}
Console.WriteLine("調試器連接成功!");
var a = 123;
var b = 222;
var c = a + b;
Console.WriteLine(c);
}

根據以上代碼編譯出程序
發送相關文件到目標設備
VS安裝目錄下有個遠程調試文件夾,里面有多個版本,根據情況,選擇一個,我這里選x86的...

然后是你要調試的程序文件,傳輸過去.

在目標設備,運行遠程調試器
notice1:目標機器,是指被調試的機器,不是我們自己運行VS的機器
notice2:可能需要裝net4.5與vc的一些運行庫,如果運行不起來,嘗試把net框架與vc運行庫各個版本都裝上試試.


在目標機器運行要調試的程序

在本機VS菜單打開附加調試的界面


1:首先輸入遠程ip和端口
2:輸入要調試的程序名稱
3:如果找不到,可以勾選左下角
4:選擇程序,附加
如果對方面設備有密碼,期間可能會讓輸入密碼.如果沒有密碼,但是不管怎么試都失敗,請參考上面配置安全選項.
斷點成功

還可以看到變量內容:

其它細節
附加調試也能附加到本機進程
選擇目標計算機的時候,默認本機計算機名稱,不用改.
調試本機進程不用運行遠程調試器.
可以讓VS直接生成程序到遠程設備
首先共享遠程調試目錄,給everyone讀寫權限:

在本機嘗試打開

復制這個路徑

粘貼到項目屬性的這個地方

編譯輸出

成功!
調試也支持直接遠程啟動

不建議這么干,程序在使用AppDomain.CurrentDomain.BaseDirectory等方式獲取啟動路徑的時候得到的會是遠程路徑:

