大部分人在測試 ASP.NET 程式時,大多按下 F5 (開始偵錯)(Start Debugging) 進入 ASP.NET 偵錯模式,不過我個人覺得這個程序非常的慢,所以大多不會直接按下 F5,而是先用 Ctrl + F5 直接看執行的結果,速度會快很多,因為大部分時候只是看執行結果,並沒有設定中斷點,無須進入偵錯模式。我之前曾經提過兩篇(這篇 & 這篇)在 Visual Studio 中關於 Attach to Process 的文章,所以當我需要除錯時才會利用 Attach to Process 將 WebDev.WebServer.EXE 程序附加上去,就可以進入偵錯模式了。
附加的步驟十分簡單,只需兩個步驟:
不過,雖然只有兩個步驟,但我還是覺得每次都這麼做太麻煩,所以研究出透過 巨集(Macro) + 快速鍵繫結 的方式,可以快速啟動 ASP.NET 偵錯。
建立巨集函數
1. 先按下 Alt + F8 開啟 Macro Explorer
2. 新增一個新的巨集模組(Module)
3. 編輯剛剛新增的巨集模組
4. 將以下巨集貼到 Public Module Module1 與 End Module 之間,並按下 Ctrl + S 存檔
Sub 附加偵錯程序()
Try
Dim m_DBG2 As EnvDTE80.Debugger2 = DTE.Debugger
Dim m_Transport As EnvDTE80.Transport = m_DBG2.Transports.Item("Default")
Dim m_DbgEngine(1) As EnvDTE80.Engine
m_DbgEngine(0) = m_Transport.Engines.Item("Managed")
Dim m_Process2 As EnvDTE80.Process2
Try
m_Process2 = m_DBG2.GetProcesses(m_Transport, "").Item("WebDev.WebServer.EXE")
Catch ex As Exception
MsgBox("您尚未啟動網站,建議先按下 Ctrl + F5 啟動網站")
Return
End Try
m_Process2.Attach2(m_DbgEngine)
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
5. 之後會在 Macro Explorer 看到剛剛定義的巨集
設定快速鍵繫結巨集執行
1. 開啟 Tools 選單 / Options,並找到 Environment / Keyboard 項目
2. 先在 Show commands containing 輸入「關鍵字」,例如輸入:附加
3. 找到你的巨集後,在底下的 Press shortcut keys 輸入「快速鍵」,並按下 Assign 即可(如下圖示)
註:Visual Studio 中的快速鍵真是爆多的,要找到一個還沒用的還真難,我好不容易找到 Alt + ` 快速鍵
之後你就只要按下 Alt + ` 即可快速啟動 ASP.NET 偵錯程序了!
註:Visual Studio 內建關閉偵錯模式的快速鍵是 Shift + F5