Visual studio 2012 Visual studio 2012和Qt4.8.5:如何在调试模式下查看QString内容。

Visual studio 2012 Visual studio 2012和Qt4.8.5:如何在调试模式下查看QString内容。,visual-studio-2012,visual-studio-debugging,qt4.8,Visual Studio 2012,Visual Studio Debugging,Qt4.8,我使用visual studio 2012和Qt4.8.5,不幸的是,当我在调试模式下工作时,我看不到QString文本变量。有人给小费了吗?VS2012不存在Qt4.8.5插件 非常感谢 除非将调试器选项设置为“启用本机编辑并继续”,否则不会使用Xavier 下面是我对4.8.5的QString的natvis实现(仅扩展前25个字符) {d->data,sub} d->data,sub d->尺寸 d->参考值 d->尺寸 d->数据,c 25 d->数据,c d->尺寸-25 至少qt4

我使用visual studio 2012和Qt4.8.5,不幸的是,当我在调试模式下工作时,我看不到QString文本变量。有人给小费了吗?VS2012不存在Qt4.8.5插件

非常感谢


除非将调试器选项设置为“启用本机编辑并继续”,否则不会使用Xavier

下面是我对4.8.5的QString的natvis实现(仅扩展前25个字符)


{d->data,sub}
d->data,sub
d->尺寸
d->参考值
d->尺寸
d->数据,c
25
d->数据,c
d->尺寸-25

至少qt4.natvis可以与qt5.natvis共存,因为其中一个无法正确加载…

对于我来说,在qt5和Visual Studio 2012中,我只是这样做了:

项目选项->调试->调试器类型->将其从“自动”设置为“混合”


手表中不显示字符串。

有一个快速而明确的解决方案(MSVC本机,不需要插件,也不需要设置.dat文件)

假设您有
QString str
Qt4),然后添加到调试器监视窗口:

((str).d)->array,su 
附录su告诉调试器将数据解释为unicode和以null结尾的字符串

注:对于Qt5
QString str
,它可能是

(char*)str.d + str.d->offset,su

对于Visual Studio 2015


工具>选项>调试>常规>选中Visual 2015、2017和2019的“使用本机兼容模式”



只需安装专用的Qt插件即可实现可视化。

从下载它

太棒了!调试器选项设置为“启用本机编辑并继续”,natvis文件工作!Thank.VS2015 autoexp.dat仍然是一个类似INI的文件。。。。根本没有XML。。。我缺少什么?嗨,它不在项目的属性中。转到工具菜单->选项->调试->编辑并继续。选中本机编辑并继续。获取:-var create:无法创建变量对象
(char*)str.d + str.d->offset,su