Visual-studio – Debugging through different solutions in Visual Studio

debuggingvisual studio

Currently I have solution A that contains a domain layer base and solution B that references the binaries from solution A. Is there a way to debug straight through from one to the other with two instances of Visual Studio open (one for each solution)?

I've read that you can just add the existing projects from solution A to solution B. Is there another solution that works? I've tried directly attaching solution A to what the running executable in solution B, but it won't let me attach multiple debuggers to the same application.

I should note that when I step into a piece of it, it automatically brings up the code from solution A within solution B's instance of Visual Studio to debug in. I suppose this is acceptable, but you can't just set arbitrary breakpoints and wait for the code to hit them this way.

Best Answer

There is no way to have two instances of Visual Studio debugging the same process. This is a limitation of Windows, and most other operating systems in that at most one process can be debugging another.

It is a perfectly supported scenario though to debug binaries that are not a part of your solution. As you've noted you can happily step into binaries from Solution B while debugging from a Solution A.

One item that will get in the way here though is the debugging feature named "Just My Code". This is a feature aimed at minimizing the debugging experience to just the code in your solution. It is great for normal solutions, but bad when you're debugging arbitrary binaries. It's likely causing a lot of the problems around break points you're seeing. You'll want to disable it by doing the following

  • Menu ToolsOptionsDebugging
  • Unchecked "Enable Just My Code"