x64上的x86远程调试器服务

时间:2008-09-16 20:52:59

标签: visual-studio debugging remote-debugging

是否可以在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中运行。

8 个答案:

答案 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位的网站时遇到了同样的问题。

你也可以这样做:

  • 停止默认调试服务 (将作为安装程序的x64 将是聪明和配置 那一个要跑。)
  • 导航到远程调试器启动 菜单文件夹并运行x86调试 服务。忽略关于
    的警告 32位/ 64位。
  • 打开工具 - >选项窗口 远程调试器应用程序窗口和制作
    注意'服务器
    中的值 名称'文本框。
  • 现在你可以附上你的视觉工作室了 通过复制“服务器名称”来实现它 值进入“限定符”文本/组合 “附加到处理”对话框中的框 Visual Studio。

在相关的说明中,如果您从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"

两个注释:

  • 您需要使用短文件名 在msvsmon.exe的路径中 防止引用路径 (因为整个命令需要 引述)
  • 之后必须有一个空格 “binpath =”(之前没有空格) '='字符)。无论是谁写的 sc的命令行解析器 命令应该被诅咒。

然后,您可以使用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位调试器。所以我想说所有这些都可以解决问题。