Visual Studio 2012/2010/2008 遠程調(diào)試
部署環(huán)境:ASP.NET(C#)+IIS+Win7 64 bit
此時開發(fā)人員會產(chǎn)生幾種設想:
1、趕緊把服務器的環(huán)境部署到本地,然后把生成的dll扔進去進行調(diào)試。這時會出現(xiàn)幾種結(jié)果,如果順利的話,通過了調(diào)試解決了bug,如果不順利的話,就會延長bug的解決時間。不順利的情況可能會有:對程序的配置不熟悉,本地可能在注冊表缺少了對那個插件的注冊,目錄可能存在中文……種種的,種種的問題。
2、在服務器上裝上一個Visual Studio 2008/2010/2012[后面簡稱vs工具],然后把程序文件拷過去,然后將生成的文件dll附加到iis進程而進行調(diào)試,哈哈,順利解決了bug,但是一看鐘表半天過去了。而且服務器多了很多文件,僅僅是為了你調(diào)試這個程序的文件。如果是管理不是很嚴謹?shù)墓灸沁€說的過去,要不然少不了要被噴一頓。
好吧,不說口水話了,進入正題。
遠程調(diào)試方法
***步:將vs工具里的Remote Debugger文件夾拷貝到目標機器。大致的目錄應該是:D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger,或者從開始菜單那里可以找到它的快捷方式,如下圖:
第二步:在服務器上打開Remote Debugger文件夾,如果是32位的就運行X86里面的msvsmon.exe,如果是64位的就運行X64里面的msvsmon.exe。關于32位和64位這里要注意一下,以你的IIS應用程序池為主,在應用程序池那里右鍵,點擊高級設置,可出現(xiàn)以下窗體。如果啟用32位應用程序設置為true的話,那么就需要運行X86里面的msvsmon.exe。
運行后會出現(xiàn)以下界面
第三步【最關鍵一步】:將你本地的賬號密碼設置成跟服務器一樣,因為遠程調(diào)試也是需要用戶憑證的。賬號和密碼都要一致哦?。?!
第四步:用vs工具打開你的程序源碼,用快捷鍵ctrl + alt + p 打開附加進程窗體,如下圖
傳輸:默認
限定符:默認是本機的機器名稱,設置為你的服務器IP(如:192.168.1.250)
設置好按回車就可以看到250這臺機子的進程,然后找到w3wp.exe這個進程,點擊附加?!救绻麤]有看到w3wp.exe,可以把下面顯示所有用戶的進程勾上】
接下來就盡情享受代碼的調(diào)試把。
關于調(diào)試那點技術
比較一下下面兩種調(diào)試的方法,看誰犯過***種,反正我犯過。^_^
1、為了調(diào)試某個dll而直接在Web程序里直接按F5進行調(diào)試,如果是小項目小網(wǎng)站的話,那沒問題。如果是一個幾十M甚至幾百M的網(wǎng)站那么問題就來了。這樣子的調(diào)試非常的慢,而且每次都需要重新生成整個網(wǎng)站的dll,那速度,是可忍孰不可忍。
2、將你需要調(diào)試的dll重新生成一下,把dll和pdb文件拷到已發(fā)布好的網(wǎng)站bin目錄底下,然后ctrl + alt + p附加到IIS進程w3wp.exe,然后就可以調(diào)試你的dll了。這樣即快又方便,做個開心的程序員吧。
結(jié)束語
好久沒寫過東西了,距離上一篇Installshield有1年多了,哎。以后堅持有空就寫點文章,多總結(jié)自己的經(jīng)驗。
【編輯推薦】