gpt4 book ai didi

c++ - 带 CDB 的 QtCreator 3 在调试器中显示错误值

转载 作者:太空狗 更新时间:2023-10-29 23:16:53 28 4
gpt4 key购买 nike

我将 QtCreator 3 与 Qt 5.2 和 VS2012 编译器、Windows 调试工具中的 CDB 调试器一起使用。在调试程序(调试构建)时,我注意到调试器中显示的值有时是错误的。我可以在以下最小示例中重现该问题:

#include <QList>
#include <QDebug>

struct SubPart
{
unsigned short v1, v2, v3;
};

struct Part
{
void appendSubPart(unsigned short v1, unsigned short v2, unsigned short v3)
{
SubPart newSubPart;
newSubPart.v1 = v1;
newSubPart.v2 = v2;
newSubPart.v3 = v3;
subParts_ << newSubPart;
}

QList<SubPart> subParts_;
};

int main(int argc, char *argv[])
{
Part part;
part.appendSubPart(1, 2, 3);
part.appendSubPart(3, 4, 5);

SubPart &ref(part.subParts_[0]);

// Debug print the content of part.subParts_
for ( auto &i : part.subParts_ ) {
qDebug() << i.v1 << i.v2 << i.v3;
}

return 0;
}

程序输出(如预期):

1 2 3
3 4 5

但是调试器显示:

Debugger screenshot

QList part.subParts_ 的调试器 View 是垃圾。对列表中元素的引用 ref 没问题。

有人知道这里发生了什么吗?

最佳答案

将 Qt Creator 更新到 3.0.1 版本,将 Qt 更新到 5.2.1 版本解决了这个问题。 QList 的调试 View 显示正确的值。

关于c++ - 带 CDB 的 QtCreator 3 在调试器中显示错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21561840/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com