59

I wonder if I can run multiple instances (right now two instances) of my application in debug mode by doing a simple click or set a key for that...

6
  • No, you can't run multiple instances of your application from Visual Studio. Features like "Edit and Continue", for example, can only work if there's a single instance. You can, however, run multiple instances from outside of Visual Studio, but you'll lose some of these fancy features. Commented Mar 31, 2011 at 11:32
  • I can run multiple instances of my app and debug them in the same VS enviroment. I just want to know if I can do that by pressing a key or a click to a button.. Commented Mar 31, 2011 at 11:40
  • I assume you're talking about something like that discussed here? More specifically, you run multiple instances manually, and then attach the debugger? No, there's no automated solution for doing this; it's not a common use case. Try writing a macro. Commented Mar 31, 2011 at 11:43
  • possible duplicate of Run multiple copies of an app from Visual Studio Commented Mar 31, 2011 at 11:43
  • Yeap I have read that thread, and that's how I run multiple instances. I just thought if there's an easy one click way to do it.. I guess there isn't. Thank you. Commented Mar 31, 2011 at 12:57

4 Answers 4

134
+100

Not many people seem to know this, but this is perfectly possible, though I admit it's not very obvious. Here's what you do:

  • suppose your current project is A, and it's output is c:\bin\my.exe
  • add an empty project to the solution for A, call it 'Dummy'
  • under Dummy's Project Properties->Debugging set the Command to point c:\bin\my.exe
  • under Solution Properties->Configuration Manager, uncheck all builds of the Dummy project so VS won't try to build it (building an empty project fails)
  • under Solution Properties->Startup Project, select Multiple Startup Projects and set the Action for both A and Dummy to Start
  • now hit F5 and your exe will be launched twice, each under a seperate debugging instance. (as you will be able to see in the Debug->View->Processes window)
Sign up to request clarification or add additional context in comments.

5 Comments

Great answer! BTW In VS2010 I needed to set Project Properties|Debug|Start Action|Start external program and also Project Properties|Debug|Start Options|Working directory
you're welcome :] I stumbled upon this when wanting to debug client/server applications simultaneously. For such cases this workflow is simply amazing: 1 source code window with the client code, next to it 1 with the server code, and step-by-step debugging at your hands.
Nice! I wanted to run two instances of a test program that exercises a library. I used the library project in lieu of a dummy project, setting its debugging Command to "$(ProjectDir)test\$(Platform)\$(Configuration)\test.exe" - so both instances of the test program use the selected config and platform.
What if your target platform is not Windows and you don't have an .exe? In example Xamarin or MAUI apps or a webapp...
Note that if A is a typical VB or C# project, you'll likely have your output files look like C:\Whatever\A(Solution)\A(Project)\bin\Debug\A.exe and C:\Whatever\A(Solution)\A(Project)\bin\Release\A.exe. Make sure to select the A.exe that is actually built when you start debuggin (likely in the Debug folder, but it can be different).
11

You can use "Multiple Startup Projects" feature, but avoid creating dummy projects by hand: just add your debuggee executable into the solution directly:

  • Solution > Add existing project > Path to .exe

If you neeed several instances, Visual Studio won't allow you to add the same executable twice, but adding a symlink to it with another name works as expected.

MSDN: How to: Debug an Executable Not Part of a Visual Studio Solution

3 Comments

this is nifty!!
I wish this works, getting the following message: "The solution already contains an item named 'A.B.C'."
What if your target platform is not Windows and you don't have an .exe? In example Xamarin or MAUI apps or a webapp...
2

Is Visual Studio 2013 this is even easier!

Project-> Properties -> Debug -> check "Start external program" and click the ... button, navigate to your .exe of the other program.

Then Make sure in your Solution -> Properties -> MultipleStartup Projects that it's checked.

1 Comment

What if your target platform is not Windows and you don't have an .exe? In example Xamarin or MAUI apps or a webapp...
-2

You can run two instances of your application from where it is built; example: d:\test\bin\debug\app.exe and attach both instances to the Visual Studio 2010 debugger.

1 Comment

This is possible, but this does not answer this question, as this is not "a simple click or set a key for that". Moreover, attaching debugger after the app is run is sometimes not sufficient, as you miss the app initialization this way.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.