Visual Studio - "附加到进程的特定实例"宏

Ste*_*eve 3 debugging macros visual-studio-2005 visual-studio

我想很多很多调试的人在Visual Studio中有一个方便的宏(在工具栏上有快捷方式),当调用时会自动附加到特定进程(由名称标识).

它节省了大量时间,而不是单击"调试" - >"附加到进程...",但它只有在运行要附加到的进程的单个实例时才有效.如果theres是内存中特定进程的多个实例 - 第一个(具有较小的PID?)正由调试器选择.

有没有人有一个显示对话框的宏(如果更多的那个进程具有指定的名称运行),并允许开发人员选择他/她真正想要附加到的一个.

我想可以根据windwow标题文本(在大多数情况下就足够了)进行选择,当选择特定实例时,宏将进程的PID传递给Debugger对象?

如果某人有该宏或知道如何写它 - 请分享.

谢谢.

Bri*_*itt 6

您可以随时附加到所有实例...这是我在调试asp.net应用程序时使用的宏 - 这些宏通常同时具有UI和Web服务,我需要附加到两者.

Sub AttachToAspNET()
        Try
            Dim process As EnvDTE.Process

            Dim listProcess As New List(Of String)
            listProcess.Add("aspnet_wp.exe")
            listProcess.Add("w3wp.exe")
            listProcess.Add("webdev.webserver.exe")

            For Each process In DTE.Debugger.LocalProcesses
                For Each procname As String In listProcess
                    If process.Name.ToLower.IndexOf(procname) <> -1 Then
                        process.Attach()
                    End If
                Next
            Next
            ListDebuggedProcesses()
        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub
Run Code Online (Sandbox Code Playgroud)