我已经为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?
答案 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个类型参数。
希望这有帮助,
莱因哈德