用于QT5的Visual Studio加载项仍然会出错

时间:2013-04-04 07:47:59

标签: visual-studio qt5

我已经为Visual Studio 2008安装了新的加载项,以便调试QT5类。

由于新的定义,大多数实例在调试期间都可以正确显示。我在查看QVectors(可能还有其他结构)时仍然存在错误。

特别是Common7 \ Packages \ Debugger \ autoexp.dat中引入的QVector的定义似乎无效:

 $c.p->array[$i]

p(因而数组)在QVector中不再存在。

这应该被替换为:

(float*)($c.d + $c.d->offset)[$i]

如果是QVector<float>。 我不是autoexp.dat中使用的visual studio sintax的专家。如何解决一般情况?演员表应该推广到模板。

或者有一个更简单的解决方案可以避免处理autoexp?

1 个答案:

答案 0 :(得分:4)

经过一番摆弄后,我发现以下内容适用于Qt 5.1.0和Visual Studio 2010:

;  expr: $c.p->array[$i], 
   expr: (($T1*)((char*)(&$c.d->ref)+(int)$c.d->offset))[$i],

在QVector&lt; *&gt;中替换3次。块。 $ Tn指的是在AutoExpand规则的第1行中以*给出的第n个类型参数。

希望这有帮助,

莱因哈德