2016-04-30 113 views
0

似乎在Visual Studio 2015调试器中可视化Qt5.6 QStrings不能与QString可视化的标准方式(向Visual Studio 2015 \ Visualizers添加natvis)一起使用在Visual Studio 2013和之前做过。 这是正确的吗?有没有人设法在VS 2015中添加QString可视化?在Visual Studio 2015调试器中查看Qt5.6 QStrings

回答

1

我已经在VS 2015中用Qt 5.6成功完成了一段时间,尽管更新3或更新我开始搞砸了。这是我使用的定义:

<Type Name="QString"> 
    <DisplayString IncludeView="nq">{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset/2),sub}</DisplayString> 
    <DisplayString ExcludeView="nq">"{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset/2),sub}"</DisplayString> 
    <StringView>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset/2),sub</StringView> 
    <Expand HideRawView="true"> 
     <Item ExcludeView="simple" Name="[size]">d-&gt;size</Item> 
     <Item ExcludeView="simple" Name="[referenced]">d-&gt;ref.atomic._q_value</Item> 
     <ArrayItems ExcludeView="simple"> 
      <Size>d-&gt;size</Size> 
      <ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset/2),c</ValuePointer> 
     </ArrayItems> 
    </Expand> 
</Type> 

如果您有自带现已弃用VS加载项的Qt5.natvis文件,我添加到我的解决方案,所以我可以修改它。有很多事情做得不对,我一直在增加更多的类型。

注意:我添加了一个视图来显示不带引号的字符串,并添加了在其他地方使用view(simple)来抑制子项的功能,但我认为这是其他方式未修改的。

如果您还是有问题,你可以打开警告或详细日志记录为Natvis:

Options > Debugging > Output Window

相关问题