是否可以在64位计算机上安装x86远程调试器作为服务?我需要在Session 0进程中将调试器附加到托管代码。该进程运行32位,但安装的调试器服务是64位,不会附加到32位进程。
我尝试使用SC命令创建服务,并且能够启动服务,并验证它是否在任务管理器进程中运行。但是,当我尝试使用visual studio连接到它时,它说没有启用远程调试器监视器。当我停止x86服务,并启动x64服务,它能够找到监视器,但仍然出错。
尝试使用远程调试器时出现以下错误: 无法附加到流程。 64位版本的Visual Studio远程调试监视器(MSVSMON.EXE)无法调试32位进程或32位转储。请改用32位版本。
尝试在本地附加时出现以下错误: 此计算机不支持附加到不同终端服务器会话中的进程。尝试远程调试到机器并在进程的会话中运行Microsoft Visual Studio远程调试监视器。
如果我尝试将32位远程调试器作为应用程序运行,它将无法连接b / c远程调试器在我的会话中运行而不是在会话0中运行。
答案 0 :(得分:16)
在安装rdbgsetup_x64.exe并完成配置向导后,这适用于我的机器(TM):
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
答案 1 :(得分:8)
我在尝试远程调试在64位IIS内运行32位的网站时遇到了同样的问题。
你也可以这样做:
在相关的说明中,如果您从Windows 2008/7 / Vista附加到2003计算机,通过此处连接向MS报告(然后关闭为“外部”),则还存在Kerberos身份验证的低级别错误:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455
答案 2 :(得分:3)
我没试过这个,但无论如何这里有一个建议:
尝试手动安装x86远程调试器服务。
sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90"
两个注释:
然后,您可以使用services.msc控制面板小程序以使用正确的凭据运行它。
您可能必须停止或甚至删除现有的x64远程调试器服务。
答案 3 :(得分:3)
我可以确认你想做的事确实会奏效。我经常将我的32位xp恶化连接到带有VS2008远程调试器的x64 win2003服务器。
答案 4 :(得分:0)
在没有安装其他软件的情况下为我工作。我刚刚复制了VM上的C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger
文件夹,并从msvsmon.exe
文件夹中启动了x86
。我的访客和主持人都是x64
。
答案 5 :(得分:0)
1)安装x64版本。这也会安装x86调试器,但不会创建快捷方式。
2)你可以在这里找到x86进程调试的可执行文件... C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe
3)如果您愿意,请将其固定到任务栏。
答案 6 :(得分:0)
有时候会发生这个错误,我只是关闭视觉工作室并再次打开它,一切正常!
来自vs的非常奇怪的行为
答案 7 :(得分:0)
我今天遇到了这个问题(64位OS和VS 2019)。我将配置更改为将x64用于项目,将IISExpress更改为使用64位,将平台目标更改为x64。它仍然使用32位调试器并抱怨。最后,当我启用脚本调试时,它开始使用64位调试器。所以我想说所有这些都可以解决问题。