Qt5在VS中调试时查看变量只能看到p,d指针的问题处理

在VS中对Qt程序进行调试时,有时会碰到变量信息只显示p,d指针的问题,譬如一个QList变量,添加到监视窗口之后,显示内容如下:

 既看不到QList大小,更看不到每个item的指针。

出现这个问题,是因为在VS的目录下缺少了定义显示Qt类型变量的.natvis文件。

VS的natvis文件一般放在如下路径(以本机VS2019举例):

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Packages\Debugger\Visualizers

对于Qt类型,在安装Qt时会自动安装对应的.natvis文件,但有时候可能因为某些问题,没有将.natvis文件放到上面的路径。

所以,我们要做的就是找到Qt的.natvis文件并放到VS对应的路径。

我本地通过everything,找到了qt5.natvis.xml.

 拷贝这个文件到上面的VS路径,去掉.xml后缀。

再运行VS时,发现变量还是不能查看。修改VS调试选项,看一下natvis的诊断消息:

发现VS分析了我们qt5.natvis和qt6.natvis两个文件,但是报了一个错:

解决方案: 修改qt5.natvis, 将里面所有的 "##NAMESPACE##::"字符串删除。

重启VS,能正确显示Qt变量了!

扩展: QtVsTools工具有一个在pdb中嵌入natvis的选项

 

如果此项为Enable,如果编译器找不到对应的qtxx.natvis文件时,编译会报错!!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值