views:

195

answers:

1

Hi,

The .NET 3.5 application I am working on consists of bunch of different solutions. Some of these solutions consist of managed code(C#) and others have unmanaged code(C++). Methods written in C# communicate with the ones written in C++. I am trying to trace the dependencies between these various functions and I thought setting breakpoints on the solution consisting my C++ functions. One of the C# solutions have the startup project. I run this solution in debug mode with the expectation that the breakpoints in my unmanaged code will be hit but nothing really happens. Can somebody guide me through the process of debugging mixed applications such as these using the Visual Studio IDE?

Thanks

+7  A: 

By default a managed project will only start the debugger with managed debugging enabled. It doesn't consider that there are unmanaged projects in the same solution. In order to debug both you need to explicitly enable unmanaged code debugging.

  • Right Click on the project and select properties
  • Go to the Debug tab
  • Check "Enable Unmanaged code debugging"
JaredPar
Thanks Jared. If my unmanaged code is in one solution and my manged code is in another Visual Studio solution, do I need to run the debugger from both my solutions in order to hit the breakpoints. I did what you suggested but I still cannot hit the breakpoints.
sc_ray
You are compiling the debug version of the C++ classes?
iain
@sc_ray: If you're attaching to a process: in the `Attach to Process` box, click `select` and check both the "Managed" and "Native" boxes.
RaphaelSP
Thanks everyone. It worked.
sc_ray