gpt4 book ai didi

c++ - VS2005 中损坏的 std::map 可视化工具

转载 作者:行者123 更新时间:2023-11-28 08:32:52 25 4
gpt4 key购买 nike

我正在使用英特尔编译器和 visual studio,但我似乎无法调试 map 中的值。我得到一个显示 map 大小的快速预览,但元素只显示为“(错误)”,我将用一个简单的例子来说明,我生成了一个只有一个条目 myMapVariable[6]=1 的 map ;

如果我将鼠标悬停在上面,我会得到这个“myMapVariable 1”在监 window 口中,我得到了同样的东西,并且在加号上展开给出了一个子条目,其中显示名称 =“(错误)”和值 = 0(这是错误的)。

我在 autoexp.dat 调试文件中添加了一行,它显示了名为 [raw members] 的子项下的原始成员变量。我几乎已经达到了在没有帮助的情况下进一步深入研究的能力的极限,所以我想问问这里是否有人可以提供一些见解。

最佳答案

您很可能正在使用激进的优化设置。至少你的截图是典型的那种事情。在那种情况下,调试器会主动将热值填充到寄存器中,并且可能是在您停止时,正确显示整个 map 所需的值已经被丢弃并被其他足够的东西覆盖(例如,指向当前节点的指针)。我可以想象以高质量优化而闻名的英特尔 C++ 比 VC++ 更经常地做这种事情(但我也经常看到后者)。

考虑在调试配置中重新编译项目(这将禁用优化器),看看是否有帮助。

关于c++ - VS2005 中损坏的 std::map 可视化工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1102007/

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