【发布时间】:2011-08-01 21:59:28
【问题描述】:
我在 MS VS 2010 中有一个解决方案,可以在全部重建后正确编译和构建 (1)。但是,在我对源文件进行更改并开始调试后,VS 会识别出该项目已过期并成功构建项目 (2)(如预期的那样)。
问题在于 VS 似乎开始使用 obj/pdb/etc.. 从上面的 (1) 而不是 (2) 调试项目。如果我闯入调试器并导航到感兴趣文件中更改的模块,我会被告知“源文件与构建模块时不同”。表明我不想重建源代码,我得到以下信息:(请注意,为了获得“好的”构建,我必须重建解决方案(或删除 vc100.pdb))。
查找“感兴趣的文件”的来源。校验和:MD5 {59 96 7d 1 9f b 33 20 63 4c 81 1d d7 c6 94 30}
确定校验和是否与以下位置匹配: 1:“感兴趣的文件”校验和:MD5 {61 66 43 cb d1 97 d1 d5 0 dc 9b 60 64 71 b2 b6} 校验和不匹配。 文件“感兴趣的文件”存在。
正在寻找“感兴趣的文件”的脚本文档...
确定校验和是否与以下位置匹配:
1:“感兴趣的文件”校验和:MD5 {61 66 43 cb d1 97 d1 d5 0 dc 9b 60 64 71 b2 b6} 校验和不匹配。
在项目中查找“感兴趣的文件”。
在项目中找不到该文件。
查看目录
.
其他目录
.
调试器会要求用户查找文件:“感兴趣的文件”。
用户在“查找源”对话框中按下了取消。调试源文件设置 已修改活动解决方案,以便调试器不会要求用户查找文件:“感兴趣的文件”。
调试器找不到源文件“感兴趣的文件”。
此时调试器识别出 pdb 哈希不同步,即使编译器/链接器之前未能识别这一点。重建后一切正常,但更改源文件后似乎无法正确构建自身。
似乎“重建”可以正确构建 vc100.pdb 和调试器 pdb,而“正常”构建仅涉及编译器/链接器 vc100.pdb...但我并不肯定。
有人有什么想法吗?
谢谢,
保罗
【问题讨论】:
标签: visual-studio-2010 debugging md5 checksum pdb-files