VS2015调试qt变量只显示地址不显示值问题处理总结

1 篇文章 0 订阅

一、环境介绍

本机装有VS2010、Qt486、VS2015

目前VS2010调试qt变量显示值正常,新安装的VS2015发现调试qt总是显示地址不显示值,多方查阅资料都无效,最后通过新建qt4.natvis解决

二、总结走过的坑

方法1:

打开VS安装目录:vs2010\Common7\Packages\Debugger ,用记事本打开这个目录下的:autoexp.dat 文件,搜索一下 QString,你会发现你的QString已经被注释掉了。

注:上述方法应该可以解决大部分VS2010调试qt不显示值的问题

方法2:

修改VS2015VS安装目录下Packages\Debugger\中的autoexp.dat,怎么修改参照VS2010安装目录下的autoexp.dat,主要加上qt相关的定义。

注:网友提供,可能可以解决少部分的VS2015调试qt不显示值问题,我这还是无法正常显示

方法3:

官网下载qt-vsaddin-msvc2015-2.4.3.vsix,直接安装,其实vs2015的工具——扩展和更新——联机,可以看到visu Assist插件,服务器正常也可以直接安装。

注:换了好几个2015的*.vsix安装,无效,卸载也是在工具——扩展和更新——已安装下操作

方法4:

取消勾选工具——选项——调试——在变量窗口中显示对象的原始结构

注:无效,可能适用部分情况

方法5:

QT VS插件下的qt5.natvis.xml文件,路径一般为C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\15.0_*\Extensions\*\qt5.natvis.xml,(个人比较喜欢用Everything这个工具搜索,)将它复制到C:\Users\用户名\Documents\Visual Studio 2017\Visualizers目录下并重命名为qt5.natvis即可(如果Visualizers这个目录不存在就新建一个)。

注:无效,工具——选项——调试,取消使用托管兼容模式和本机兼容性模式,工具——选项——调试——输出窗口,natvis诊断消息设置为详细,F5调试断点,查看输出窗口提示:

Natvis: C:\Users\yinshunjian.SFDOMAIN\Documents\Visual Studio 2015\Visualizers\qt5.natvis(226,6): 错误: 无效的类型名称“##NAMESPACE##::QString”。
Natvis: C:\Users\yinshunjian.SFDOMAIN\Documents\Visual Studio 2015\Visualizers\qt5.natvis(239,6): 错误: 无效的类型名称“##NAMESPACE##::QByteArray”。

……

修改文件qt5.natvis,删除所有##NAMESPACE##::,F5调试断点,窗口输出提示:

错误: 类 "QString::Data" 没有成员 "offset"

....

可能是这成员变量是qt5才有,而我使用的是qt4,修改文件natvis文件,参考github上文档,也可以直接使用我修改的好的qt4.natvis,放置上述qt5.natvis目录下

qtnatvis.rar-C++文档类资源-CSDN下载

见证奇迹的时刻到了,终于能正确显示qt变量的值了,折腾了一下午,总结一下供后人参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值