**********轉載請注明出處***********
使用場景
常用的主要是在部署的機器上程序出現問題, 而一般的部署機器上沒有開發環境,此時需要准確的定位出錯的原因時使用。
進行遠程調試時,主機可以是任何支持 Visual Studio 的平台。遠程計算機可以是 32 位或 64 位平台。
下面是總結的遠程調試的步驟和注意事項
步驟
一、在遠程計算機安裝調試器
1、將vs工具里的Remote Debugger(VS2015的路徑為:\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger)文件夾拷貝到目標機器。
2、從控制面板中找到“控制面板\系統和安全\管理工具→本地安全策略“,然后找到 “本地策略”—>"安全選項”,然后在右側找到“網絡訪問:本地賬戶的共享和安全模式”,選
中,設置為“經典:本地用戶以自己的身份驗證”。
3、將需要調試的dll重新生成一下,把dll和pdb文件拷到可執行程序(.exe)所在目錄或已發布好的網站bin目錄底下,並共享該目錄。
3、打開vs遠程調試監視器(“msvsmon.exe”),會出現下圖中的窗口,點擊選項菜單,選中無身份驗證和允許任何用戶進行調試。然后點擊確定,這樣,遠程計算機就設
置好了。當然,別忘了在遠程計算機上啟動你要調試的程序。
【注】一般都是臨時使用調試,因此不要作為服務運行,為了減少安全的配置,最好把防火牆臨時關閉,調試結束后再開啟。
二、本地計算機配置和調試
1、創建一個用戶與遠程用戶名與密碼安全相同,也可以修改當前使用的用戶名和密碼實現,無需新建用戶,方法如下:
在“我的電腦”圖標上點擊右健,選擇“管理”,然后找到“本地用戶和組”-》“用戶”,然后在當前用戶的用戶名上點擊右鍵,選擇“重命名”為與遠程相同,然后再重新設置密碼
與遠程相同即可。
2、啟動調試。打開項目,將生成路徑指向遠程計算機共享的目錄,從調試菜單打開附加到進程窗口,如下圖。
傳輸:默認,限定符:默認是本機的機器名稱,遠程調試時設置為遠程計算機IP;再選擇要調試的程序,點擊附加按鈕,就可以設置斷點調試了。

【注】在windows 7中,按住SHIFT鍵,然后在visual studio 的圖標上點擊右鍵,然后選擇“以其它用戶身份運行”,然后輸入遠程調試用的賬號和密碼可以使用當前登錄Window的賬戶遠程調試 。
遠程調試時DebugView的使用:
首先,將DebugView.exe復制到遠程機,創建快捷方式,右鍵點擊遠程機DebugView的快捷方式,將”快捷方式“選項卡中的目標后加上” /c",點擊“確定”保存。此后,點擊該快捷方式可以啟用DebugView可以打開DebugView遠程客戶端。在本地機器上打開DebugView,在計算機選項中“斷開”本地連接,在“連接”中輸入遠程計算機IP即可。此時,本地計算機就能打印代碼中System.Diagnostics.Debug.WriteLine("Show something!");輸出的內容了。

遠程機和主機都需要注意的地方
- 本地安全策略:
控制面板、本地安全策略中:本地策略、安全選項、網絡訪問:本地帳戶的共享和安全模型,確認是否已經設置為經典
- 用戶:
兩個機器上有相同的帳號和密碼以進行用戶驗證模式下的連接,一般用管理員用戶可以避免很多的安全問題
調試的過程中,需要注意
- 代碼文件路徑和內容不要任意修改,否則調試時無法定位到具體的錯誤
- 符號文件(*.pdb)和代碼一定要一樣,符號文件要拷貝到遠程機上
在遠程機上啟動“Visual Studio遠程調試器”服務程序(根據軟件的x86和x64模式啟動對應的版本),設置正確的驗證方式,具體參考下表
| 調試方式 |
設置 |
| 開發環境直接啟動遠程進程形式 |
具體步驟: 1、 將軟件拷貝到遠程機的約定目錄(如c:\temp) 2、 在項目屬性的Debug選項中設置遠程目錄為上面的約定目錄(如c:\temp)、執行文件名和遠程主機名 (如Windows驗證的地址: KK\Administrator@192.1.68.1.1(這個名字在“遠程調試監視器”界面上可以看到) 無需驗證的地址:192.1.68.1.1) 3、 開發工具啟動Debug即可遠程啟動調試軟件,設置斷點等 |
| 進程附加形式 |
Remote with Windows authentication 、Remote with no authentication (Native only)兩種形式可選
具體步驟: 1、 遠程機上啟動要調試的進程,如果是web站點,啟動web頁面就激活了w3wp.exe進程 2、 在主機上選擇要調試的進程附加上 3、 設置斷點即可調試 |
