Thanks for this - it makes sense. I have no idea if you might be able to borrow their technique, but somehow Resharper is actually able to cope with this - I have deliberately caused a ref-0 exception in some C++ code, and in NC I get the message we're discussing here, but in R# I get the following:
Exit code is -1073741819 (Fatal error. 0xC0000005
at <Module>.GlobalState.Initialise(GlobalState*)
at Mk4RxApplication.RxApplication.Start(System.Threading.ManualResetEvent)
at RxEmulationControl.Mk4HardwareEmulation.StartApp()
at RxEmulationControl.HardwareEmulationBase.SynchronousStart()
etc, etc, stack trace right through nUnit.
This is using their normal "run test", not a debugger.
Looking at their runner process, the dotnet.exe command line ends with "connect --port 40521", which I guess is this stuff:
https://learn.microsoft....nostics/diagnostic-port
I imagine this is all very complicated to use even without the existing complications of nCrunch - and I'm aware that JetBrains can probably bring enormous resources to bear on this stuff if they want to.
I don't know how they get the mixed-mode debugger launch right, but I do know they have occasionally broken it in the past - I think it uses something to do with the debugger type specified in the startup project (irrespective of whether that has anything to do with the unit test projects).