Debug Visualizers in Mixed-Mode apps have regressed - by small_mountain_0705

Status : 

  By Design<br /><br />
		The product team believes this item works according to its intended design.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 773794 Comments
Status Closed Workarounds
Type Bug Repros 7
Opened 12/7/2012 7:12:54 AM
Access Restriction Public


In VS 2010, we had custom debug visualizers for several of our key native C++ types.  Incredibly valuable for debugging.  Our application contains both native and managed C++, so we debug in "Auto" or "Mixed" mode most of the time.  We understand that the debug visualizers only work when you are debugging native code (we aren't happy about it, but that has always been the reality).  But, at least in VS 2010, even if you were debugging in Mixed mode, if you were stopped at a breakpoint in native code, our debug visualizers worked just fine.

This has all changed in VS 2012.  Now, unless we debug in Native mode, our custom debug visualizers do not work at all.  This is a massive, productivity-killing, regression.  Please fix.

We are seeing this even with Update 1 installed.
Sign in to post a comment.
Posted by small_mountain_0705 on 12/12/2012 at 12:29 PM
Okay, well, copying my autoexp.dat file from VS 2010 worked wonders, sure enough. Thanks for that!

But, I'm curious, are you Brad Sullivan, the same Brad Sullivan who said here:

that .natvis files were *replacing* autoexp.dat? All the communication has been that .natvis replaces autoexp.dat; that's why we didn't bother moving it forward. Can you explain, or point us to doc that explains, the relationship between autoexp.dat and xxx.natvis? Should somebody only use .natvis if their code is completely native or if their managed code is C#/VB so they are okay unchecking that "Managed C++ Compatibility Mode" box?

Also, can you explain what "Managed C++ Compatibility Mode" is? This is a new checkbox? Neither Google nor Bing were any help.



Posted by Microsoft on 12/12/2012 at 10:56 AM
I should also mention that we are working on making everything just work in a future release of Visual Studio.
Posted by Microsoft on 12/12/2012 at 10:55 AM

If you still have your visualizers from VS 2010, they are compatible with Visual Studio 2012 when debugging mixed mode.

Alternatively, you can install Update 1 to Visual Studio 2012 here:
Then under Tools->Options->Debugging you can uncheck "Managed C++ Compatibility Mode". On your next debugging session, natvis will be compatible with mixed mode debugging. This is suggested if your managed code is written in C# or VB, but you variable inspection experience will be degraded for managed C++.

Brad - Visual Studio Debugger Team
Posted by Microsoft on 12/9/2012 at 11:44 PM
Thank you for submitting feedback on Visual Studio and .NET Framework. Your issue has been routed to the appropriate VS development team for investigation. We will contact you if we require any additional information.
Posted by Microsoft on 12/7/2012 at 7:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(