VS2015不能监视的解决办法

第一次使用VS2015社区版,发现对vector变量的监视不能看到内容,而是看到一些列指针:

查资料发现是本地可视化原生类型不支持监视vector的内容,需要修改可视化文件natvis.

方法:解决方案管理器中右击项目->添加->新建项->Visual C++->实用工具->调试可视化工具(.natvis)。把下面的代码粘贴上去就可以了。

<?xml version="1.0" encoding="utf-8"?>

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="std::vector&lt;*&gt;">
    <DisplayString>{{ size={_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst} }}</DisplayString>
    <Expand>
      <Item Name="[size]" ExcludeView="simple">_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst</Item>
      <Item Name="[capacity]" ExcludeView="simple">_Mypair._Myval2._Myend - _Mypair._Myval2._Myfirst</Item>
      <ArrayItems>
        <Size>_Mypair._Myval2._Mylast - _Mypair._Myval2._Myfirst</Size>
        <ValuePointer>_Mypair._Myval2._Myfirst</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>

</AutoVisualizer>

类似的,还有很多本地类型无法监视,如一些容器类,自定义类等,都是视图本地化的问题,用natvis还有很多实用的作用,详细参考MSDN官方的两篇博客。

https://blogs.msdn.microsoft.com/vcblog/2015/09/28/debug-visualizers-in-visual-c-2015/

https://msdn.microsoft.com/en-us/library/jj620914.aspx

 

补充一个最新的解决方法:安装VS2015的update2或者update3,这个问题在这两个补丁中已经解决了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值