gpt4 book ai didi

c# - 在 VS2008 中的 Windows x64 上调试 x86 .NET 应用程序

转载 作者:太空狗 更新时间:2023-10-29 22:35:12 24 4
gpt4 key购买 nike

我使用的是 x64 版本的 Windows 7。我的应用程序使用了一些无法在 x64 上下文中加载的 COM 服务器(通常是 native 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...那么,还有什么问题?

更新 2:如果您创建新的 Windows 应用程序项目并将目标平台更改为 x86,您将看到此问题。但是如果您从项目中删除 Settings1.settings,问题就会消除!!。有什么想法吗?

更新 3:http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/bc297668-65b4-46e8-969e-c7a6340d33b6

最佳答案

您收到的错误消息与调试 WOW64 位应用程序无关。它在这里甚至不是一个问题,因为 Visual Studio 在 WOW64 中运行一个 32 位进程。因此,您实际上是在执行 x86 -> x86 调试 session ,而不是 x64 -> x86。

这里发生的事情是 Visual Studio 正在从 PDB 中读取源文件的校验和,它与您用来调试应用程序的文件的校验和不匹配。最可能的原因是

  • 过时的 PDB
  • 使用不正确的源文件。这在分支场景中比您想象的更常见,在分支场景中您可以轻松获取文件的错误版本。

我通常调试的方式是

  • 关闭 VS 并手动删除所有二进制文件和二进制目录
  • 重启 VS 并重建
  • 关闭VS
  • 重新启动 VS 并在不打开解决方案的情况下附加到正在运行的项目
  • 然后手动打开文件

关于c# - 在 VS2008 中的 Windows x64 上调试 x86 .NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2014734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com