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