71

When I want to debug I have to do Debug->Attach to Process -> Look for a process in the list -> Attach.

I was wondering if I can create some kind of a shortcut to do this for me?

dev.e.loper
  • 35,446
  • 76
  • 161
  • 247
  • 2
    If you've situation like me, when you need to repeat the attach-to-processes operation using the same set of processes, grab [resurrect extension](http://visualstudiogallery.msdn.microsoft.com/043c7c91-e127-4616-bce0-39b869cee4b3) and give it a try. It helped me so I've published it. – jwaliszko Apr 04 '14 at 20:41

12 Answers12

86

The shortcut is Ctrl+Alt+P in Visual Studio 2005 and above.

Karim AG
  • 2,166
  • 15
  • 29
Rajesh
  • 1,911
  • 1
  • 22
  • 19
23

The easiest way to do this is to write a macro which finds the DTE.LocalProcess you wan to target and automatically attach. For example

Public Sub AttachShortcut()
  For Each proc In DTE.Debugger.LocalProcesses 
    If proc.Name = "what you're looking for" Then
      proc.Attach()
      Exit Sub
    End IF
  Next
End Sub

Note: This Stack Overflow Question is related and has a sample you may find useful

Community
  • 1
  • 1
JaredPar
  • 733,204
  • 149
  • 1,241
  • 1,454
  • 8
    Macros are no longer available in Visual Studio 2012. For more details, see http://www.infoq.com/news/2011/10/VS-Macros/ – Kjetil Klaussen Aug 02 '12 at 08:17
  • 4
    You can reuse macros code in VS 2012/2013 with Visual Commander http://vlasovstudio.com/visual-commander/ – Sergey Vlasov May 23 '14 at 06:37
  • 2
    John Rea's answer below should be marked as the new answer, or at least have its information included in the answer for people using Visual Studio 2012 and up. The add-ins ReAttach and AttachTo are good examples. – Ultroman the Tacoman Feb 10 '15 at 10:51
  • I've written a blog post about how to create a shortcut with the Visual Commander extension: http://blog.markvincze.com/attach-to-process-shortcut-in-visual-studio/ – Mark Vincze Sep 05 '15 at 08:31
  • This should be downvoted now. Ctrl + Alt + P is the shortcut, as said in the answer from Rajesh. – Jaywalker Dec 31 '15 at 09:39
16

Attach to Process Button

To enable the 'Attach to Process' toolbar button in Visual Studio 2013, 2015, 2017, 2019, and 2022

  1. Right-click on any toolbar and click 'customize...'
  2. Click the 'commands' tab
  3. Click the 'Toolbar' radio button
  4. Select the toolbar where you want your button to appear from the dropdown
  5. Click the 'Add Command...' button
  6. Select 'Debug' from the categories list on the left
  7. Select 'Attach to Process' from the commands list on the right, and click ok. The button will appear on your selected toolbar.
  8. Optionally, use the 'Move Up' and 'Move Down' buttons on the right to move your new button to your desired location within the toolbar. I keep mine just after the Debug button.
Tom Bowers
  • 4,951
  • 3
  • 30
  • 43
14

You can use the Alt key shortcut ALT+D,P to launch the "Attach to Process" window via Debug menu.

Once there, you can use your keyboard to search the list of Available Processes (e.g. type "w3wp" if you want to attach to an IIS app pool)

DL Narasimhan
  • 731
  • 9
  • 25
TMcManemy
  • 814
  • 9
  • 20
14

Writing a macro is one option, however it cannot deduct which process to attach to by itself.

Another nice solution is to map the "Attach to process" command to a shortcut key:

(Tools -> Options -> Environment -> Keyboard, type attach, like i did in this example, and select a shortcut key):

enter image description here

Mike Chamberlain
  • 39,692
  • 27
  • 110
  • 158
lysergic-acid
  • 19,570
  • 21
  • 109
  • 218
13

For Visual Studio 2017, 2019, there is a ReAttach extension available. Very handy.

Alex
  • 8,908
  • 28
  • 103
  • 157
Dawid Sibiński
  • 1,657
  • 3
  • 21
  • 40
13

This answer should work for Visual Studio 2010.

I like having buttons to do this on my debug toolbar

https://gist.github.com/1406827

The gist contains a method for attaching to IIS (w3wp.exe) or ASP (aspnet_wp.exe) and also nunit (nunit-agent.exe). Instructions are included on how to add the macros to your debug toolbar.

Brian Wigginton
  • 2,632
  • 3
  • 21
  • 28
12

I use this built in "Shortcut"

ALT+D, P, W, ENTER

this opens the debug menu, selects attach to process, scrolls down to w3wp.exe and attaches.

It's long but should work in multiple visual studio versions with no setup required, with or without resharper and it works when running multiple IIS processes as you can choose which process to attach to.

drzaus
  • 24,171
  • 16
  • 142
  • 201
actual_kangaroo
  • 5,971
  • 2
  • 31
  • 45
7

Addins are probably a better way to do this now. I use one called "Attach to anything". You can find them in Visual Studio 2012. Go to "Tools" -> "Extensions and updates", search for "attach", and install "attach to anything".

Also see: Automate "Attach to Process" in Visual Studio 2012

Community
  • 1
  • 1
Jon Rea
  • 9,337
  • 4
  • 32
  • 35
4

Alt+Shift+P to reattach the last attached process.

It works for me in Visual Studio 2017.

Axifive
  • 1,159
  • 2
  • 19
  • 31
0

Personally I prefer to use Debugger.Launch() as suggested here in this thread, because it doesn't need for references to the DTE (that's IDE-specific and must be explicitly referenced into the project to be used)

Community
  • 1
  • 1
NinjaCross
  • 784
  • 2
  • 9
  • 20
0

VS extensions

More: Search the VS Marketplace for "attach"

Keyboard

  • The attach to process shortcut is Ctrl+Alt+P in Visual Studio 2005 and above. You can then press the first letter of the process name you want, e.g. w for w3wp.exe and it'll jump to that, then Enter to attach.
  • You can use the Alt key shortcut ALT+D,P to launch the "Attach to Process" window via Debug menu.

Code


Current release is VS2015 at time of writing.

Go ahead and edit/extend this answer :-)

Tim Abell
  • 11,186
  • 8
  • 79
  • 110