我在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}校验和不匹配.
在项目中寻找"感兴趣的文件".
在项目中找不到该文件.
在目录中查找
.
misc目录
.
调试器将要求用户找到文件:"感兴趣的文件".
用户在"查找源"对话框中按"取消".已修改活动解决方案的调试源文件设置,以便调试器不会要求用户找到文件:"感兴趣的文件".
调试器无法找到源文件"感兴趣的文件".
此时调试器识别出pdb哈希值不同步,即使编译器/链接器未能及早识别出这一点.重建后一切正常,但在更改源文件后似乎无法正确构建.
似乎"rebuild"正确地构建了vc100.pdb和调试器pdb,而"普通"构建只触及编译器/链接器vc100.pdb ......但我不是正面的.
有人有主意吗?
谢谢,
保罗