VS2022升级15.4后调试STL不显示数据 未定义标识符 “_Mypair“

Visual Studio 2022升级15.4后报错 stl.natvis(1138,6): 错误: 未定义标识符 “_Mypair”;表现为看不到STL变量。并且只有2010创建的项目有问题,2022创建的项目并没有问题。

问题原因

Visual Studio 2022之前的版本一切正常,升级后才出现。
这篇文章 说出了出错详细原因 但是stl不需要自己写
把详细因为stl.natvis删除了对旧的项目支持,对比结果如下 VC2013被删除
在这里插入图片描述

解决思路

开始在国内外找了很多文章,都没有好的方案,都是一些让重写stl.natvis…
VS升级后一直有两个问题,Visual Assist安装失败,STL不能调试,试着重新安装VS2022也用,盲开发了两个月受不了了。

偶然在一天早上想解决这两个问题,发现用VS2010调试无问题,vs2019调试却是正常,然后对比两个发现了以上问题。那就好解决了,natvis文件只要放到目录里是自动加载覆盖的。

那我们就把VS2019的stl.natvis重命名为 stl2019.natvis放到 VS2022安装目录:Microsoft Visual Studio\2022\Enterprise\Common7\Packages\Debugger\Visualizers下就自动解决了STL不能调试的问题。上面都是废话只有这段最有用(●’◡’●) 。
这里我附上VS2019的stl.natvis文件 下载链接

尾巴

国内项目还在用VS2010,使用着残缺的c++11,用上最新的VS2022,难免会遇到这种不兼容的问题。Visual Assist安装失败我们下次再讲。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值