Visual Studio 2013 是否有用于调试 Qt 4.8 项目的非官方可视化工具?
Is there any unofficial visualizer for debugging Qt 4.8 projects in Visual Studio 2013?
在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 不兼容吗?
两者都应该 "work",但要知道 Qt 5 natvis 将引用不同的对象结构,例如QString 在 Qt 5 中有一个成员 offset
,但在 Qt 4.8 中没有。我从 Qt VS Addin 中抓取了 Qt5.natvis 和任何不起作用的东西,我破解了 autoexp.dat (这样做的旧方法)以查看 VS addin 创建的 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<unsigned short*>(d)) + d->offset / 2),sub}</DisplayString>
<StringView>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub</StringView>
<Expand>
<Item Name="[size]">d->size</Item>
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
<ArrayItems>
<Size>d->size</Size>
<ValuePointer>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c</ValuePointer>
</ArrayItems>
</Expand>
</Type>
您是如何尝试安装它们的?你得到什么错误?它们可以进入 Documents\Visual Studio 2015\Visualizers 由 IDE 添加,或者您可以将它们放入项目树中并将它们添加到项目中。
在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 不兼容吗?
两者都应该 "work",但要知道 Qt 5 natvis 将引用不同的对象结构,例如QString 在 Qt 5 中有一个成员 offset
,但在 Qt 4.8 中没有。我从 Qt VS Addin 中抓取了 Qt5.natvis 和任何不起作用的东西,我破解了 autoexp.dat (这样做的旧方法)以查看 VS addin 创建的 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<unsigned short*>(d)) + d->offset / 2),sub}</DisplayString>
<StringView>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub</StringView>
<Expand>
<Item Name="[size]">d->size</Item>
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
<ArrayItems>
<Size>d->size</Size>
<ValuePointer>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c</ValuePointer>
</ArrayItems>
</Expand>
</Type>
您是如何尝试安装它们的?你得到什么错误?它们可以进入 Documents\Visual Studio 2015\Visualizers 由 IDE 添加,或者您可以将它们放入项目树中并将它们添加到项目中。