VS2010 遠端除錯設定
阿新 • • 發佈:2019-02-10
ps:本人按照下面的方式設定成功,個人感覺寫的也比較清楚
VS是支援遠端除錯的,這樣在自己公司就可以遠端除錯在客戶機上的程式了
VS的遠端除錯分為兩種:
這裡我只說幾個要值得注意的地方
1、附加程序除錯又分為兩種:(1)Window身份驗證遠端除錯 (2)匿名遠端除錯
- Windows身份遠端除錯在除錯主機上VS裡的附加程序要用預設模式,這裡請注意不要被遠端模式的字面意思欺騙了,“遠端(無身份驗證時僅限本機)”這個模式實際上指的是匿名遠端除錯需要輸入被除錯的主機名和埠號
- Windows身份驗證遠端除錯必須要在除錯機和被除錯機上使用相同使用者名稱和密碼的Windows賬戶,這樣做是為了驗證除錯機的身份。
- 將遠端除錯作為被除錯機的服務可以免除“Windows身份驗證遠端除錯必須要在除錯機和被除錯機上使用相同使用者名稱和密碼的Windows賬戶”這個限制,因為在設定windows服務的時候會要求輸入允許進行除錯的機器的登入名和密碼,只要除錯者在他的系統上使用該使用者名稱和密碼就可以使用遠端除錯。
- 直接遠端除錯只支援Visual Studio 遠端偵錯程式上的windows身份驗證除錯模式,不支援將遠端除錯作為被除錯機的服務和匿名遠端除錯
- 使用匿名遠端除錯有個問題,附加程序上的被除錯機程序沒有使用者名稱,導致VS上設定的斷點全不起作用,感覺匿名遠端除錯如同虛設.....至今沒有找到解決辦法........
- 使用匿名遠端除錯的時候如果在msvsmon上沒有選擇“允許任何使用者進行除錯”複選框,那麼仍然有:“除錯機和被除錯機上使用相同使用者名稱和密碼的Windows賬戶”這個限制,但是就算是在匿名遠端除錯下使用相同的使用者名稱和密碼你還是會發現附加程序裡出現的被除錯機程序還是沒有使用者名稱,這仍然說明設定斷點不起作用
2、設定
前提條件:
除錯機和被除錯機都在一個區域網內,且必須在一個網段
除錯機和被除錯機必須登入相同的使用者,使用者名稱必須一直
關閉防火牆或開啟相應的埠,一般是4015
除錯機和被除錯機的本地安全策略中的網路訪問必須改為“經典,本地使用者以自己的身份驗證”,路徑為控制面板->使用者管理->本地安全設定->本地策略->安全選項->網路訪問
除錯方法:
至此有2種除錯方法:一種是匿名除錯,無需驗證,一種是Window身份驗證除錯:
匿名除錯:
1.被除錯機的msvsmon下選擇工具->選項,點選無身份驗證模式(只限本機)
2.之後可以看到主機名和IP,一般是hostname:4015的形式
3.除錯機開啟VS,選擇附加到程序
4.傳輸選擇遠端(無身份驗證時僅限本機)
5.限定符選擇hostname:4015,之後重新整理就可以看到程序列表了
Window身份驗證除錯:這種方法需要除錯機和被除錯機的使用者名稱和密碼完全一致
1.被除錯機的msvsmon下選擇工具->選項,點選windows身份驗證
2.除錯機開啟VS,選擇附加到程序
3.傳輸選擇預設
4.限定符選擇,之後重新整理就可以看到程序列表了