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...
- 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.Cody Gray– Cody Gray ♦2011-03-31 11:32:51 +00:00Commented 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..MCA– MCA2011-03-31 11:40:46 +00:00Commented 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.Cody Gray– Cody Gray ♦2011-03-31 11:43:36 +00:00Commented Mar 31, 2011 at 11:43
- possible duplicate of Run multiple copies of an app from Visual StudioCody Gray– Cody Gray ♦2011-03-31 11:43:43 +00:00Commented 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.MCA– MCA2011-03-31 12:57:24 +00:00Commented Mar 31, 2011 at 12:57
4 Answers
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)
5 Comments
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).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
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
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.