用過VS一段時間的程序員們相信都有過這樣的調試經歷:每次按下F5進行斷點調試時,都要等待好長時間:先讓解決方案編譯通過,然后啟動VS自帶的簡版IIS作為服務器啟動,進而開啟瀏覽器,最后進行相應的操作進入我們的斷點。假如我們的解決方案有30個項目,可以想象得等待多長時間;再想想,合作開發的時候如果我們的解決方案一個地方出錯了,那么其他人只能干着急,浪費了很多寶貴的時間,那么,有沒有辦法解決呢?答案就是接下來我要說的附加進程調試。
其實原理還是一樣的,只不過用F5的時候VS自動的把各種動作執行完畢,現在我們來手動操作而已。大致的步驟如下:
1. 將網站部署到本地IIS
部署網站的話,不是這里的重點,如果不太會的話可以進行百度,教程很多。我這次的測試是通過建立虛目錄,然后將目標項目轉換為應用程序進行的。
2. 在IIS中瀏覽要調試的頁面
在IIS添加的項目中右鍵目標頁,選擇瀏覽,等待瀏覽器響應即可(這個時候相當於啟動了IIS進程):
3. 將IIS的進程附加到VS中
在VS中找到“調試”菜單,選擇“添加到進程”,之后彈出如下對話框,將“顯示所有回話中的進程”打勾,找到IIS的相關進程“w3wp.exe”,之后點擊“附加”即可。
如果我們不是以管理員運行的VS,它會提示你需要權限,我們右鍵VS的圖標選擇“以管理員運行”即可。有一個更為徹底的方法,找到VS程序,右鍵,選擇“兼容性”選項卡,將“特權等級”中的“以管理員身份運行此程序”打勾,確認,以后每次運行VS都將是管理員身份。
添加進程之后我們就會發現自己的VS已經處於調試狀態,之后就可以按照我們以前的方法進行相應的調試了。
這種調試感覺有點麻煩,在解決方案中的項目不多以及合作開發人員比較少的情況下F5調試感覺更為省事一些。這種調試的好處是,我們不需要等待VS每次慢吞吞的啟動,然后進入調試狀態,因為把步驟分別給了IIS和VS,啟動起來更為快捷。而且對於經常被更新就出錯的麻煩這么的人來說,這個方法無疑是個福音。我們可以將其他人的錯誤打擾盡可能的降低。
“不怕不知道,就怕不知道”,存在即是合理。在我們為一個問題抓狂的時候也許別人正在用一個看似笨拙的方法,所以,我們要盡可能的開闊自己的眼界。加油啊!