我通常在开发网络应用程序,并且我的工作时间花费了大量的时间来完成“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