1
Vote

Debug test does not respect project setting for mixed mode debugging (enabled)

description

Choosing debug selected tests from test explorer does not debug in mixed mode when project properties are set to debug native.

comments

Zooba wrote Jun 25, 2013 at 4:29 PM

Making this a feature because the test adapter framework is also unlikely to support this.

If we move away from their framework then we can revisit this.

pminaev wrote Jul 18, 2013 at 4:04 AM

C# test projects do support it, which would seem to indicate that there is some support for it in the framework.

Zooba wrote Jul 18, 2013 at 5:04 AM

Actually, if you can debug normally then we should just be able to return the MMD engine GUID (assuming it declares support for .NET debugging, otherwise the framework will ignore it).

It may also be possible to use the same Debug-Attach process we currently have to attach with the MMD engine. We'd still need some sort of blocking event (like we have now with ptvsd's wait-for-debugger option) and I'm not sure that we can get that reliably in the attach scenario.

pminaev wrote Jul 18, 2013 at 5:49 AM

Ah, therein lies the catch. The engine GUID is the same in both cases; MMD kicks in if our engine is loaded alongside native, which is done by checking for presence of other engines in AD7Engine and just bailing out if anything is there - the native debugger will pick it up from there and load DKM extensions according to their stated filters.

So, to kick it off, we need some way to provide two engine GUIDs - ours and native. If the API only provides for a single GUID, we're out of luck. Now that I think of it, I seem to recall that for .NET they actually have a single special GUID that's used for mixed native/managed, which may be how it works in that case.