私は通常、Web アプリを開発していますが、驚くほど多くの作業時間を「Ctrl + Alt + P」、プロセス名で並べ替え、w3wp.exe を選択してデバッガーをアタッチすることに費やしています。
さらに悪いことに、私は複数のアプリケーション プールにまたがるアプリに取り組んでいるので、通常は w3wp.exe のインスタンスが 2 つまたは 3 つあり、どれにアタッチすればよいかを知ることは不可能であるため、通常はすべてにアタッチすることになります。それらのうち、これはやり過ぎですが機能します。
全体として、これはかなり面倒です...
私の同僚は、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 のすべてのインスタンスにアタッチするように変更する方法はありますか?