I have a C# unit test in the Visual Studio 2013 test framework which exercises CLI and native code. I would like to investigate the native portion of the code while executing the C# unit test. However running Test -> Debug -> All Tests runs the managed debugger, so break points in native code are not hit and I cannot trace from C# -> C++/CLI code like I can when running the program under a mixed mode debugger.
For example, this code in my unit test:
[TestMethod]
public void TestRoundTripEvaluate()
{
var obj = new MyCLIObject();
var roundtripped = RoundtripXml( obj );
// I would like to trace into here to see why Equals returns false.
// But the definition for MyCLIObject is in a CPP file and cannot be navigated
// to running the unit test because Visual Studio starts the debugger as "managed only"
// when using Test -> Debug -> All Tests
Assert.IsTrue( obj.Equals( roundtripped ) );
}
Looking at the project settings for the unit test project, everything under Debug is disabled, so I can't check Enable Native Code Debugging, which allows this behavior for a normal program.
How can I enable mixed-mode debugging or native only debugging when running a VS C# unit test?