Visual Studio 2013 C++: STL container's elements display in debugger
c++, data-visualization, debugging, visual-studio-2013
Solution
I found one way to force MSVS 2012/2013 use autoexp.dat: set "Enable Edit And Continue" and "Enable Native Edit and Continue". It disables "data viewing enhancements" (natvis) for C++, and elements of std::vector (std::list, std::map, ...) become displayed on the main line of the variable (MSVS 2010 style). But, it still would be interesting, is it possible to modify stl.natvis to get the same display result?
Problem
MSVS 2013 during C++ debugging (Autos and Watch windows) shows only size of STL container's: ``` MSVS 2010: "[9](9,8,7,6,5,4,3,2,1)" MSVS 2013: "{ size=9 }" ``` Line expand is required to see element's value in MSVS 2013. Is there any way to make MSVS 2013 show STL containers like MSVS 2010 in debugger? I tried to remove stl.natvis (it is used in 2013), but it doesn't help: autoexp.dat is still not used. Is possible to force MSVS 2013 use autoexp.dat? Is it possible to modify stl.natvis scripts (construct DisplayString from container element's values)? Any other way?