VS遠程調試與附加調試


使用場景

假如你要開發的程序需要運行在獨特的硬件上,比如:服務器,然而這個"獨特的硬件"卻不能給你裝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等方式獲取啟動路徑的時候得到的會是遠程路徑:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM