The source file is different from when the module was built.

来源:互联网 发布:vision软件下载 编辑:程序博客网 时间:2024/05/02 02:19

*******************************

Source file: D:/Projects/StereoMatch/stereomatcher.cpp

Module: D:/Projects/StereoMatch/Debug/StereoMatch.exe

Process: [4024] StereoMatch.exe

 The source file is different from when the module was built. Would you like the debugger to use it anyway?

*******************************

***********************************

At StereoMatcher.cpp, line 166 ('ComputeCorrespondence()', line 128)

 The breakpoint will not currently be hit. The source code is different from the original version.

 To allow the breakpoint to be hit when the source code is different, right-click on the breakpoint, choose 'Location ...', and turn on 'Allow the source code to be different from the original version.

 To allow this for all breakpoints, disable the option 'Require source files to exactly match the original version' under Tools, Options, Debugging, General'

***********************************

When the compiler generates debug information, it will generate a hash (AFAICT, only MD5 is supported at this point) over all contributing source files (i.e. the .cpp file and all #include'd files). This information along with the full path of the files on the build machine eventually end up in the PDB file.

Now when the debugger tries to obtain a source file, it gets the full path name from the PDB file does some path-based mapping and opens the file. Then it generates the hash and check if it matches the one saved in the PDB.

 In your case, it does not and that suggests your source file is outdated. You can force the debugger to ignore such mismatches, but it is obviously a feature designed to prevent you from looking at outdated source files while debugging.

 Are you quite certain sources and debug information are from the same version (obviously you could just rebuild on your box to make sure)? May it works if you...

Delete all the files in the folders:

../bin/Debug , ../bin/Release, ../obj/Debug , ../obj/Release, ...obj/Debug/Refactor

For your primary program and the aditional projects in the solution and recompile.

Regards.

If there are any static libraries that you link to, these might be causing the problems. Do you see the problem for all files? Are these files included from precompiled source files (e.g. in static libs)? 

There's the dia2dump sample, that might help you understand the problem. You need to build it first. Once you have, you can dump the hash for some of the conflicting files and compare against the real MD5 hash of the source files.

 

摘自http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1927472&SiteID=1

原创粉丝点击