I suggest you ...

Support natvis debug visualizers in Mixed mode debugging

This suggestion is migrated to Developer Community. Please use below link to view the current status.
https://developercommunity.visualstudio.com/content/idea/351281/support-natvis-debug-visualizers-in-mixed-mode-deb.html
Please user our .natvis files when debugging in Mixed mode. They are not used (as of VS 2013 Preview). We have a C++/CLI application with many native and many /clr files and cannot use the .natvis visualizers there.

162 votes
Vote
Sign in
(thinking…)
Password icon
Signed in as (Sign out)
You have left! (?) (thinking…)
John Schroedl shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

7 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Marián Špánik commented  ·   ·  Flag as inappropriate

    The old autoexp.dat works for mixed mode debugging, so there is no explanation why the natvis shouldn't work. I have only one possible explanation but let's pray it didn't happen actually - that they took the code of the native debug engine and COPIED it to the managed debug engine - and none of the updates to the native debugging engine went there because of that.

  • Samuel Bronson commented  ·   ·  Flag as inappropriate

    I suspect that doing this in a manner that is more useful than frustrating is trickier than it sounds: calling into CLR code when the debugger is stopped in a piece of native code is probably not safe, but it doesn't seem like it would be easy to extract data from run-of-the-mill managed types (which do not even specify a memory layout in their IL metadata, much less as part of their API/ABI) without ending up in CLR code: if it's compiled to native code, that code would presumably have to ask the CLR to help it with the memory layout; if it's compiled to managed code, that code is going to have to get run through the CLR at some point or other too, no?

  • Marián Špánik commented  ·   ·  Flag as inappropriate

    I am starting to think that debugger for C++/CLI is completely different from native C++ debugger or at least most of it is. Missing Edit and Continue, different error message in watch window, not recognizing constructs for specifying module name like {,,msvcr120.dll}_crtBreakAlloc in watch window, missing support for debug visualizers, etc. - I think they should definitely do something with that.

  • jschroedl commented  ·   ·  Flag as inappropriate

    This Visual Studio "14" CTP has integrated .natvis files into the project and added live updating. This is even more reason why we need this support. Please enable visualizers when we're debugging in Mixed mode!!

Feedback and Knowledge Base