我正在尝试使用 Qt 调试一个大型项目,但我在调试时遇到了问题。这与这个问题相同,但那里的答案没有帮助,我使用的是 VS2010,所以我无法安装那里提到的修复程序。
我用 VS2008 重现了这个问题(以及解决方案,见下文)。
我刚刚了解到:“鼠标悬停”功能称为 DataTips。
问题:
- 成员变量的鼠标悬停和“本地”窗口内容错误(与上面链接的问题相比)。
- 鼠标悬停和“本地”窗口内容显示旧成员名称。我将一个变量从“size”重命名为“sizeMm”,调试器仍然显示“size”。
显然,调试器正在使用一些必须存储在某处的旧信息。
这是我尝试过的:
- 重新启动 Visual Studio
- 清理并重建了我的项目文件夹
- 尝试了不同的项目设置(例如再次打开和关闭优化)
- 手动删除 .obj 文件
- 手动删除 .sdf 文件
- 对班级中的成员进行了重新排序
- 从
EDIT 类中删除了大部分 Qt 代码: - 正如 Neil Kirk 在回答中建议的那样,我尝试了编译器选项 /Z7、/Zi 和 /ZI。
/Z7 应该将调试信息写入目标文件。 - 删除所有 ./Debug 目录中的所有内容
调试器必须从另一个来源获取信息。但从哪里来?
我该怎么做才能让调试器清除它的缓存、重新扫描我的类并更新它的内部信息?
当前调查状态:
我发现了大约 6 个可能存在信息的地方,例如ipch
文件夹/文件。但仍然没有成功。
我对每个硬盘进行了全文搜索。它在我删除的其他项目中发现了一些 pdb 文件。
现在我修复了这个错误,但我没有找到它。
VS2012 问题依然存在。但是,pdb 文件现在命名为vc110.pdb
。