在Visual Studio 2013中是否有用于调试Qt 4.8项目的非官方可视化工具?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Visual Studio 2013中是否有用于调试Qt 4.8项目的非官方可视化工具?相关的知识,希望对你有一定的参考价值。

在Visual Studio 2013中调试Qt 4.8类型支持所需的文件在哪里?我听说过* .natvis文件,但我发现只有Visual Studio 2013的Qt5 * .natvis文件或Visual Studio 2012的Qt4 * .natvis。它们对我不起作用。 Visual Studio 2012 * .natvis和Visual Studio 2013 * .natvis是否不兼容?

答案

任何一个都应该“工作”,但要知道Qt 5 natvis将引用不同的对象结构,例如QString在Qt 5中有一个成员offset,但不是Qt 4.8。我从Qt VS Addin中抓取了Qt5.natvis以及任何无效的东西,我破解了打开autoexp.dat(这样做的旧方法)来查看VS插件创建的Qt修改并进行适当的更改。

autoexp.dat中的QString:

QString|*::QString{
    preview         ([$e.d->data,su])
    stringview      ([$e.d->data,sub])
    children
    (
        #(
            d: $c.d,
            [size]: $c.d->size,
            [referenced]: $c.d->ref._q_value
        )
    )
}

Qt5.natvis中的QString:

<Type Name="QString">
    <DisplayString>{((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>
        <Item Name="[size]">d-&gt;size</Item>
        <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
        <ArrayItems>
            <Size>d-&gt;size</Size>
            <ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),c</ValuePointer>
        </ArrayItems>
    </Expand>
</Type>

你是怎么尝试安装它们的?你得到了什么错误?它们可以通过IDE添加到Documents Visual Studio 2015 Visualizers中,也可以将它们放在项目树中并将它们添加到项目中。

以上是关于在Visual Studio 2013中是否有用于调试Qt 4.8项目的非官方可视化工具?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Visual Studio 2013 中使用 asp.net mvc 6?

Visual Studio 2013/2015 测试项目模板 - 用于 NUnit?

用于良好编程实践的 Visual Studio 工具 [关闭]

在 Visual Studio 2013 中启用 WiX 项目

Visual Studio (2013) 用于 C# 解析的 json 对象的智能感知

用于区分 Visual Studio 2012 和 2010 的 C# 预处理器指令或条件?