views:

617

answers:

3

I'm using Visual Studio 2008; is it possible to configure a project debugging options to automatically attach to a process with a certain name when hitting F5?

Edit: actual macro, specifying to attach to managed code:

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
+1  A: 

Try pressing CTRL + ALT + P. I suppose you could remap Debug.AttachtoProcess if you really wanted to.

RichardOD
+6  A: 

It is possible. You can write a macro like this

    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

And then change VS key bindings to execute this macro when F5 is pressed

Juozas Kontvainis
+1, prety nice and usefull macro
TcKs
A: 

I have written and add-in for this, you may want to try it out.

pablito