Remote Debug in VS.NET 2008

Remote Debug in VS.NET 2008

前言

最近程式都上到Server上去,想要Debug,又不能在Server上裝VS.NET,所以就研究一下Remote Debug。依CodeProject上的那篇文章,我只有不用驗証的方式可以Attach Process,所以改使用Service方式。

實作

先在Server上安裝Remote Debug程式,Step如下:

安裝

執行rdbgsetup.exe(程式在vs.NET CD的Remote Debugger目錄下)

Setupfile

SetupFinish

  • 實作Service方式

裝好後就開始要設定Service! (啟動Service的Account我是使用Domain的User,而且該User是在該Local Server的Administrators群組之中,而且是可以啟動Service的哦!)

2_Account

3_ServiceAccount

4_Firewall

5_Complete

設定完成後,您會在Service中看到「Visual Studion 2008 Remote Debugger」這個Service。

6_ServiceAdd

完成後,就可以在我們的開發機去附加該Server的Process了!

開啟VS.NET專案後,在功能列上選取「附加至處理序」,然後在「限定詞(O)」那輸入要Debug的ServerName,然後按下「重新整理」的Button,就可以出現該Server的處理序,然後選取要附加的處理序即可! 如下圖! 之後就可以在VS.NET中Debug了!

7_AttachProc

  • 實作不需驗証方式

您也可以在Server上直接執行msvsmon.exe,然後設定不需要驗証的方式,這時ServerName會變成ServerName:4015

8_noAuth

9_noAuto

設好後,就可以在開發機Debug Server的Process。

開啟VS.NET後,在附加至處理序中,請看下圖,要改「傳輸(P)」成「遠端(僅限使用不需驗証的機器碼」,然後「限定詞」輸入「ServerName:4015」,再按下方的重新整理鈕就可以看到Server的執行序,然後附加w3wp.exe。

10_AttachNoAuthProc

 

結論

目前我只試用Service的方式來Debug是可以進入到Code裡。直接執行msvsmon.exe有驗証方式,我目前還沒有試成功過,因為都會出現下圖的錯誤。而使用不需要驗証的方式,雖然可以Attach process,但是就無法Debug到Code。之後如有其他方式再跟大家分享。

11_errorAuth

 

參考

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^