在 Visual Studio 2015 调试器中查看 Qt5.6 QStrings
View Qt5.6 QStrings in Visual Studio 2015 Debugger
似乎在 Visual Studio 2015 调试器中可视化 Qt5.6 QStrings 并不能与 QString 可视化的标准方式(向 Visual Studio 2015\Visualizers 添加 natvis)作为一个在 Visual Studio 2013 年及之前做过。
这个对吗?有人设法在 VS 2015 中添加 QString 可视化吗?
我已经在 VS 2015 中使用 Qt 5.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 插件附带的 Qt5.natvis 文件,我将其添加到我的解决方案中以便我可以对其进行修改。有很多事情不太正确,我一直在添加更多类型。
注意:我添加了一个视图来显示不带引号的字符串,并添加了在其他地方使用 view(simple)
来抑制子项的功能,但我认为这是未修改的。
如果您仍然遇到问题,可以为 Natvis 打开警告或详细日志记录:
为 Qt 添加 Visual Studio 调试兼容性的最简单自动方法是安装 Qt Visual Studio 工具并在项目属性 -> 配置属性中将调试器类型设置为 "Mixed" - > 调试中。
已针对 Qt 5.9.1 和 Visual Studio 2015 进行测试
似乎在 Visual Studio 2015 调试器中可视化 Qt5.6 QStrings 并不能与 QString 可视化的标准方式(向 Visual Studio 2015\Visualizers 添加 natvis)作为一个在 Visual Studio 2013 年及之前做过。 这个对吗?有人设法在 VS 2015 中添加 QString 可视化吗?
我已经在 VS 2015 中使用 Qt 5.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 插件附带的 Qt5.natvis 文件,我将其添加到我的解决方案中以便我可以对其进行修改。有很多事情不太正确,我一直在添加更多类型。
注意:我添加了一个视图来显示不带引号的字符串,并添加了在其他地方使用 view(simple)
来抑制子项的功能,但我认为这是未修改的。
如果您仍然遇到问题,可以为 Natvis 打开警告或详细日志记录:
为 Qt 添加 Visual Studio 调试兼容性的最简单自动方法是安装 Qt Visual Studio 工具并在项目属性 -> 配置属性中将调试器类型设置为 "Mixed" - > 调试中。
已针对 Qt 5.9.1 和 Visual Studio 2015 进行测试