一、必要声明
参考自:https://blog.csdn.net/u014552102/article/details/82466516
二、现象
最近使用vs2015调试C++程序,结果发现了一个很奇怪的问题:调试时无法查看stl里面string,vector,list等容器类的值了,如下图所示,调试时把鼠标移动到“str”这个变量上面,结果发现显示“str|{...}”,无法显示str的值了。
正常情况下调试时应该显示“hello world”才对,如下图所示:
三、原因及解决方法
如https://blog.csdn.net/u014552102/article/details/82466516博主所说,出现这个问题的原因是.natvis可视化工具工件(vs2015安装目录\Common7\Packages\Debugger\Visualizers\stl.natvis)出现问题。解决方法如下:
1、用https://blog.csdn.net/u014552102/article/details/82466516博主提供的文件;
2、拷贝其他人电脑上没出现问题的stl.natvis文件;
之后将原stl.natvis替换即可。