Support Debug Visualizers through autoexp.dat
The syntax is all but undocumented, the stability is terrible - and it already a major productivity booster. It's one of those half baked, very useful ideas.
This has been completed in Visual Studio 2012. The new, fully supported format is called natvis. You can read more about it here:
Cagri Aslan [MSFT] commented
Yes, there will be a way to display user-drawn UI. The documentation and samples for it is yet to come.
No name commented
Is there any way with the native visualizers to have a display which consists of a user-drawn graphic, rather than just text?
Maria B [MSFT] commented
We just posted some more details about natvis on the C++ blog here: http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx . We look forward to your feedback.
Ofek Shilon commented
Whaddayaknow, MS actually did improve this. AutoExp is replaced by NatVis files, as implied here: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/5e847744-aa01-49cd-ac47-fe32da1673a3/#c3f5456c-7e7a-414c-9cb5-17da2f7705bb.
I'm just starting to fiddle with it, but looks like Mateusz Loskot already did some experimentation:
David Ikeda commented
This would be fantastic. The visualizer is so powerful. Example: if we could embed MSVC-specific code into our source code for the visualizer, that would be incredibly powerful (of course within a preprocessor check for MSVC since many of us have to support multiple platforms). Doing it per-project would also be fantastic: pretty much any solution which allows us to distribute the solution easily without modifying our MSVC installations would make a world of difference.
The visualizer is such a potentially powerful tool for debugging. Combined with the frequent need in C++ to create user-defined types, it makes the MSVC debugger one of the best in the industry. The ability to be able to see the contents of std::vector, for example, is one of the most compelling arguments against the standard C++ naysayers on our team who think that code using standard C++ containers is hard to debug.
Finally, this is not some new and radical feature. It's a feature Microsoft is already using themselves. We just want it to be a bit more official (documented and supported) and a bit more externally extensible. There's a gold mine of power here that could easily become one of MSVC's top debugger/IDE features that put the competition to shame.
Arkadiy Shapkin commented
Support additional autoexp.dat for project would be awesome
Ben Voigt [Visual C++ MVP] commented
Support, including better documentation, good examples, and some visualizer debugger, would be awesome.