我使用的是Windows 7的x64版本。我的应用程序使用一些无法在x64上下文中加载的COM服务器(通常是本机x86 COM服务器)。所以我决定使用WOW将其作为x86应用程序运行,因此我将平台目标设置为x86。
但是当我尝试调试它时,Visual Studio 2008调试器开始向所有源文件显示“源文件不同......”等消息。这种行为的原因是什么?这个问题诞生于"The source file is different...." message in Visual Studio 2008 is result of debugging x32 apps on x64 Windows
更新:我清理了解决方案,重建了解决方案,删除了obj,bin等文件夹,重新启动了计算机,重新安装了Visual Studio ......那么,还有什么可能是问题?
Update2 :如果您创建新的Windows应用程序项目并将目标平台更改为x86,您将看到此问题。但是如果从项目中删除Settings1.settings,麻烦将被消除!! 。有什么想法吗?
Update3 :http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/bc297668-65b4-46e8-969e-c7a6340d33b6
答案 0 :(得分:4)
您收到的错误消息与调试WOW64位应用程序无关。这不是一个问题,因为Visual Studio在WOW64内部运行32位进程。所以代替x64 - > x86你实际上在做x86 - > x86调试会话。
这里发生的是Visual Studio正在从PDB读取源文件的校验和,它与用于调试应用程序的文件的校验和不匹配。最可能的原因是
我通常通过它调试的方式是
答案 1 :(得分:4)
Windows 7默认为VS 2008设置Windows Xp sp 3兼容模式。更改与Windows Vista SP2模式的兼容性已经解决了问题。
答案 2 :(得分:1)
您也可以检查x86构建类型。创建它时,您可能无法从默认构建中复制设置,因此在运行应用程序时,您的代码都没有构建。
打开解决方案属性并检查配置属性\配置页面。然后确保在 Build 下为您正在使用的Config / Platform组合检查所有项目。