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