不知道大家有沒有遇到過這種情況,剛開發(fā)完的程序,明明在本機能夠好好的運行,可是部署到服務(wù)器過分發(fā)給用戶時,總是出現(xiàn)莫名其妙的錯誤。
一時半會又看不出問題來,怎么辦呢?難道只能在服務(wù)器或是客戶電腦上裝一個vs、跟一下代碼嗎?
其實不用的,vs有一個遠(yuǎn)程調(diào)試的功能。
這個功能是這樣的,程序在其他的電腦上運行,但是我們可以在本地電腦上進行斷點跟蹤。
下面以vs2012為例,為大家介紹一下無身份驗證的遠(yuǎn)程調(diào)試(如果要用有身份驗證,又沒有域環(huán)境,參見最后的總結(jié)),同時也說一下vs2012與以前版本在遠(yuǎn)程調(diào)試功能方面的改進。
1、從開始菜單中打開“Remote Debugger”文件夾,打開之后,你會看到兩個文件夾,這個是要復(fù)制到遠(yuǎn)程計算機上的,只需要根據(jù)具體環(huán)境從兩個里選出一個復(fù)制過去就好了。
2、復(fù)制完之后,在遠(yuǎn)程電腦上打開vs遠(yuǎn)程調(diào)試監(jiān)視器(“msvsmon.exe”),會出現(xiàn)下圖中的窗口,點擊選項菜單,選中無身份驗證和允許任何用戶進行調(diào)試。
然后點擊確定,這樣,遠(yuǎn)程計算機就設(shè)置好了。當(dāng)然,別忘了在遠(yuǎn)程計算機上啟動你要調(diào)試的程序。
3、然后,我們在自己的電腦上,打開項目,從調(diào)試菜單打開附加到進程窗口,選擇遠(yuǎn)程,輸入遠(yuǎn)程計算機的ip,然后回車;
再選擇要調(diào)試的程序,點擊附加按鈕。好了,點個斷點,試試吧。
4、vs2012與之前版本的不同。
看看這張圖,是不是很熟悉,不就是在遠(yuǎn)程計算機上的設(shè)置窗口嘛。呵呵,再仔細(xì)看看,這個張圖和前面那張是不一樣的。看到“僅限本機”幾個字了吧。
這張圖是從vs2010的遠(yuǎn)程調(diào)試監(jiān)視器中截下來的,這個僅限本機是什么意思呢?經(jīng)過幾次試驗,我得出一個結(jié)論,這個“本機”的意思,應(yīng)該是“本地代碼”,
和“托管代碼”是想對應(yīng)的。如果用vs2012之前的版本,也按照前三節(jié)所說的方法設(shè)置,是沒有辦法“斷點”的,因為我們要調(diào)試的代碼是“托管代碼”。
那么,此時應(yīng)該怎么設(shè)置呢?我們只能選擇“Windows 身份驗證”那個單選框了。附加的時候,也不能再選擇遠(yuǎn)程了,只能選擇“默認(rèn)”。
總結(jié)一下,如果用vs2012之前的版本進行遠(yuǎn)程調(diào)試需要注意的幾點:
a、不能選擇無身份驗證
b、如果不是域環(huán)境,遠(yuǎn)程計算機和本地計算機必須同時使用相同的帳號密碼
c、遠(yuǎn)程計算機上的程序文件要相應(yīng)包含“.pdb”文件