2009-06-16 6 views
4

J'utilise Visual Studio 2008; est-il possible de configurer une option de débogage de projet pour attacher automatiquement à un processus avec un certain nom en appuyant sur F5?Visual Studio: configurer le débogage à attacher au processus

Edit: macro réelle, spécifiant attacher à code managé:

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 
+0

Comment voulez-vous qu'il se comporte s'il y avait deux instances en cours d'exécution? –

+0

Dans mon cas particulier, je suis sûr qu'il n'y aura qu'une seule instance en cours d'exécution. En général, je ne sais pas, peut-être que cela pourrait montrer un dialogue en cas d'ambiguïté? –

Répondre

12

C'est possible. Vous pouvez écrire une macro comme celui-ci

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 

Et puis changer les raccourcis clavier VS pour exécuter cette macro lorsque F5 est pressée

+0

+1, prety gentille et utile macro – TcKs

2

Essayez d'appuyer sur CTRL + ALT + P. Je suppose que vous pouvez remapper Debug.AttachtoProcess si vous vouliez vraiment.

1

Je l'ai écrit et add-in pour cela, vous pouvez l'essayer.

Questions connexes