Visual Studio:配置调试以附加到进程

4
我正在使用Visual Studio 2008,是否可以配置项目调试选项,以便在按下F5键时自动附加到具有特定名称的进程?
编辑:实际的宏,指定附加到托管代码:
Sub AttachToMyProcess()
    Try
        Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
        Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
        Dim dbgeng(1) As EnvDTE80.Engine
        dbgeng(0) = trans.Engines.Item("Managed")
        Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, "MyMachine").Item("MyProcess")
        proc2.Attach2(dbgeng)
    Catch ex As System.Exception
        MsgBox(ex.Message)
    End Try
End Sub 

如果有两个实例在运行,您希望它如何表现? - Rowland Shaw
在我的特定情况下,我确信只会有一个实例正在运行。一般而言,我不知道,如果存在歧义可能会显示对话框? - Paolo Tedesco
3个回答

12

可以做到。您可以编写如下的宏:

    DTE.Debugger.DetachAll()
    For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses
        If proc.Name.IndexOf("processname") <> -1 Then
            proc.Attach()
        End If
    Next

然后更改VS键绑定,使得按下F5时可以执行此宏。


2
尝试按下CTRL + ALT + P。如果你真的想要重新映射Debug.AttachtoProcess,那么你可以这样做。

1

我已经为此编写了add-in,你可能想试一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接