在visualization 2015调试器中可视化Qt5.6 QStrings似乎与标准的QString可视化方法(向visualization 2015\可视化器添加一个natvis )不像在visualization 2013及之前那样工作。这是正确的吗?有没有人在VS 2015中添加了QString可视化功能?
发布于 2017-02-11 18:59:36
你可以试试工具
发布于 2016-07-27 14:17:59
我已经在VS 2015和Qt5.6成功地做了一段时间,虽然更新3或我做的一个附加开始搞砸事情。这是我使用的定义:
<Type Name="QString">
<DisplayString IncludeView="nq">{((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub}</DisplayString>
<DisplayString ExcludeView="nq">"{((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub}"</DisplayString>
<StringView>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub</StringView>
<Expand HideRawView="true">
<Item ExcludeView="simple" Name="[size]">d->size</Item>
<Item ExcludeView="simple" Name="[referenced]">d->ref.atomic._q_value</Item>
<ArrayItems ExcludeView="simple">
<Size>d->size</Size>
<ValuePointer>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c</ValuePointer>
</ArrayItems>
</Expand>
</Type>如果您有现在不推荐的VS Addin附带的Qt5.natvis文件,我将它添加到我的解决方案中,以便修改它。有很多事情不太好用,而且我一直在添加更多的类型。
注意:我添加了一个视图来显示没有引号的字符串,并添加了在其他地方使用view(simple)来抑制子字符串的能力,但我认为这是未经修改的。
如果仍然有问题,可以为Natvis打开警告或详细的日志记录:

发布于 2018-11-07 07:02:38
将调试兼容性添加到Visual的最简单自动方法是安装Qt工具,并在项目属性->配置属性->调试中将调试器类型设置为“混合”。
测试QT5.9.1和2015
https://stackoverflow.com/questions/36958177
复制相似问题