我通常在開發網絡應用程序,並且我的工作時間花費了大量的時間來完成「Ctrl + Alt + P」,按進程名排序,然後選擇w3wp.exe來附加我的調試器。如何使Visual Studio宏將調試器附加到w3wp.exe的所有實例?
更糟糕的是,我正在開發跨越多個應用程序池的應用程序,所以我通常會有2或3個w3wp.exe實例,並且不可能知道要附加哪一個實例,所以我通常會結束附加到所有這些,這是過度殺傷力,但工程。
總而言之,這是煩了...
我的同事想出了一個辦法有一個VS宏自動附着到W3WP.EXE(他基本上記錄了這個):
Sub AttachMacro()
Try
Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
Dim dbgeng(3) As EnvDTE80.Engine
dbgeng(0) = trans.Engines.Item("T-SQL")
dbgeng(1) = trans.Engines.Item("T-SQL")
dbgeng(2) = trans.Engines.Item("Managed")
Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, "ENIAC").Item("w3wp.exe")
proc2.Attach2(dbgeng)
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
我真的不確定是否所有這些都是必要的,或者說,我從來沒有爲VS做過宏,我真的不知道從哪裏開始。
會不會有改變這個宏的方式,這樣,而不是其自身附加到的w3wp.exe的例如,它會將自身附加到的w3wp.exe的所有實例?
此功能真的應該是Visual Studio的一部分。任何人想要做出連接問題 - 或檢查現有的問題? – 2013-02-19 07:06:28