8

我在 32 位 Windows Server 2003 机器上安装了一个 Web 服务。通过在我的机器上共享 x86 调试器 exe,我能够使用 VS 2010 从我的 Windows 7 64 位机器远程调试它。一切正常,直到周末他们决定将服务器机器升级到 64 位。

现在,当我尝试使用 x86 调试器进行远程调试时,它给了我错误:

远程调试器

当我使用 x64 调试器时,它不会引发错误,但不会加载项目的符号,因此我无论如何都无法调试它。

关于为什么会这样的任何想法?我应该做些什么不同的事情?

4

2 回答 2

1

不确定这是否适合您,但您可以

  • 设置 VS 以生成 x86 可执行文件(构建选项,平台目标 x86)
  • 或者如果您的 Web 服务在 IIS 中运行,请创建一个作为 x86 进程运行的应用程序池

转到 IIS 管理控制台中的应用程序池,右键单击您的应用程序池并选择“设置应用程序池默认值...”。在属性对话框中,将“启用 32 位应用程序”设置为“真”。

这样,您应该能够使用 x86 调试器(因为以前可以使用)。


显然,您可以将 IIS 6 设置为在 x86 模式下运行:

%SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

之后也跑

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i
于 2013-05-08T20:14:47.687 回答
0

请确保您正在执行以下操作

  • -确保你有最新的符号,你可以在服务器上执行

  • - 运行 64 位版本的 msvsmon.exe

  • - 在视觉工作室中的客户端上,调试 - 附加到进程 - 传输(远程)限定符(您的服务器)

  • - 选择进程并点击附加

您必须在服务器和客户端上具有相同版本的可执行文件和符号

于 2013-05-10T12:18:38.620 回答