Visual Studio - Attach to process shortcut - visual-studio

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?

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

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
Attaching to a child process automatically in Visual Studio during Debugging

To enable the 'Attach to Process' toolbar button in Visual Studio 2013, 2015, 2017, 2019, and 2022
Right-click on any toolbar and click 'customize...'
Click the 'commands' tab
Click the 'Toolbar' radio button
Select the toolbar where you want your button to appear from the dropdown
Click the 'Add Command...' button
Select 'Debug' from the categories list on the left
Select 'Attach to Process' from the commands list on the right, and click ok. The button will appear on your selected toolbar.
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.

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)

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):

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.

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

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.

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

Alt+Shift+P to reattach the last attached process.
It works for me in Visual Studio 2017.

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)

VS extensions
Debug Attach Manager
ReAttach
Resurrect
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
Add System.Diagnostics.Debugger.Launch() to your code
Current release is VS2015 at time of writing.
Go ahead and edit/extend this answer :-)

Related

Make Visual Studio 2019 Always Run as Administrator from Start Bar Recent Solutions List

I recently upgraded to Windows 10 and Visual Studio 2019.
Prior to the upgrade, Visual Studio 2017 would always run as Administrator. I did not think much of this, but now that it is gone it is causing me problems.
The primary one is that it will not load my projects that use my local instance of IIS.
I usually launch Visual Studio from my start bar. Right now this goes like this:
Right click on the icon on the start bar and select my solution.
It loads and then I realize that the main project did not load.
Close visual studio, open as admin
Pick my solution and then it loads.
I would really like to only have to do #1 above. Is there someway I can edit the shortcut on the start bar to have it always launch as Administrator?
Turns out that Visual Studio uses different permissions when you click on the list of shortcut options it offers in the start menu. (IE to load a recent solution directly.)
Selecting the Properties->Advanced->"Run as Administrator" did not cause these to run as administrator.
But this did it:
Find devenv.exe (Visual Studio's executable)
Right Click on it and select "Troubleshoot Compatibility".
On the Program Compatibility Troubleshooter window, click on Troubleshoot Program
Check that the program requires additional permissions and click Next
On the next window, click on Test the program… and VS will open as administrator
Click next and then click on Yes, save these settings for this program
Now Visual Studio will ALWAYS run as administrator.
(Taken from: https://ppolyzos.com/2017/08/08/always-run-visual-studio-as-administrator/)

Shortcut button for remote debugging in Visual Studio

I want to add a shortcut-button in Visual Studio 2015. Clicking this button should just emulate "Attach To Process" -> Select "w3wp.exe" -> Attach.
Does anyone know how to do it?
You can't do those two commands on one toolbar button click apart from creating or using an existing Visual Studio extension.
Creating a Visual Studio extension would be feasible but somewhat involved (as a complete project in itself).
Available Extensions:
The first extension you could use is Visual Commander (detailed below) to create a Macro.
Depending on your needs you could also use AttachTo which provide a one click option to attach to IIS.
Finally there is also Debug Attach Manager which can attach to specific process and then remember it.
Using a macro to achieve the desired effect:
As mentioned by #Sergey Vlasov, you can can install a Visual Studio Extension named Visual Commander that brings back Macros in Visual Studio. Then you can program a macro to do this for you. The code for the macro comes from another SO answer
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
Adding the shortcut button:
You can also easily add a button in your toolbar to add "Attach to Process..." if you prefer to have the button on your toolbar.
To do this go in the Menu under TOOLS. Then choose Customize.
There select the second tab "Commands".
The select Toolbar and choose the toolbar you want the button to appear in. For example "Debug" if you want it to appear during debugging.
Then press the Add Command... button and choose the Debug category. There you will find the Attach to Process.
This would make it more readily available if you prefer to use the toolbar.

How do you prevent Visual Studio 2012 from closing IE when you stop debugging?

When I was using Visual Studio 2010, I could just "Detach All" and the web site would continue to run and the browser wouldn't close. That would enable me to attach a different solution to debug a separately compiled library. Now all that's left is "Stop Debugging" and "Terminate All".
Although the website is still running in the background, I have to open a new browser window and navigate back where I was.
Is there some way to go back to the 2010 functionality?
Detach All is still available in VS 2012. If you don't have it under Debug in Main Menu then you may need to add it manually (right click on toolbar, select Customize.. from context menu).

Does a keyboard short cut exist in Visual Studio 2010 to debug the current project?

I have a solution with 36 projects.
When I'm working on one of the projects I'd like to be able to debug it without having to right click the project then select 'debug' then select 'start new instance'.
Thank you.
You could add in the Options dialog under Environment->Keyboard "ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance" as a shortcut.
This starts debugging on the current project.
(maybe this changed a bit for 2010)
source: http://www.sharpdevel.com/2009/09/visual-studio-debug-start-new-instance.html
One thing that you could do is to right click your Solution, go to Properties. Select 'Startup Project' and choose 'Current selection'. After this, the project that you click will be set as startup project. You can debug the project that you want by clicking it and pressing F5 (or whatever key you have for start debugging).
Steps to add keyboard shortcut to debug the present project instead of the solution:
Open VisualStudio2010 > Tools>Options>Environment>Keyboard
Show commands containing "StartNewInstance"
and you will see: "ClassViewContextMenus.ClassViewProject.Debug.StartNewInstance"
Enter your choice into "Press shortcut keys" (for example Alt-F5)
Click the Assign button
OK
Away you go.
In Visual Studio 2017, the keyboard shortcut to start debugging is:
F5

Visual Studio IDE Issue

Can someone tell me why my Ctrl+F5 disappeared in Visual Studio 2008? Its not even in the menu. In the Debug menu, All I have is Windows, Start Debugging, Step Into, Step Over, Exceptions, and Toggle Breakpoints.
I'm using the professional edition of Visual Studio 2008 and for some reason, this morning, it just vanished.
You can re-add it: Tools -> Customize... -> Commands tab -> Select Debug -> Drag the "Start Without Debugging" command to the Debug menu and place it where you want it to be.
As for why it happened, hard to tell.
Was it the button there before becuase I just checked on mine and saw that there was no button with Ctrl+F5, but when you do the command, it works fine.
Right click on the menu bar and click Customize... from there you can add in any options that are missing.
Could this happen if the current "Startup Project" - the one in bold in the Solution Explorer - is not an executable?
(I don't have access to VS to check)

Resources