是否可以在 64 位计算机上将 x86 远程调试器安装为服务?我需要将调试器附加到会话 0 进程中的托管代码。该进程运行 32 位,但安装的调试器服务是 64 位,并且不会附加到 32 位进程。
我尝试使用 SC 命令创建服务,并且能够启动该服务,并验证它是否在任务管理器进程中运行。但是,当我尝试使用 Visual Studio 连接到它时,它说远程调试器监视器未启用。当我停止 x86 服务并启动 x64 服务时,它能够找到监视器,但仍然出现错误。
这是我尝试使用远程调试器时出现的错误:
无法附加到进程。 64 位版本的 Visual Studio 远程调试监视器 (MSVSMON.EXE) 无法调试 32 位进程或 32 位转储。请改用 32 位版本。
这是我尝试本地附加时出现的错误:
此计算机不支持附加到不同终端服务器会话中的进程。尝试对计算机进行远程调试并在进程的会话中运行 Microsoft Visual Studio 远程调试监视器。
如果我尝试将 32 位远程调试器作为应用程序运行,则它将无法附加,因为远程调试器正在我的会话中运行,而不是在会话 0 中运行。
安装 rdbgsetup_x64.exe 并完成配置向导后,这在我的机器上有效:
sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)