远程调试托管应用程序

Ash*_*sha 7 .net c# debugging remote-debugging visual-studio

如何从具有visual studio的其他计算机远程调试托管应用程序.这是我尝试过的:

  1. 将Visual Studio中的远程调试文件夹复制到远程计算机并运行msvsmon.exe(64位版本,因为两台计算机都是64位).
  2. 在两台计算机中使用相同的Windows登录帐户.
  3. 然后我启动visual studio并使用attach进行处理.在传输中我选择"默认",在限定符中我给出msvsmon.exe运行的机器的主机名.
  4. 然后按"刷新"按钮查看该计算机上的进程列表.我可以看到另一方面它说"用户xyz已连接".但是,刷新失败,我得到以下错误: 错误屏幕

我在这做错了什么?我正在尝试使用VS2008 Pro和两个系统上的操作系统是Windows Server 2008 R2,如果重要的话.

注意:我可以使用远程传输调试非托管应用程序而不会出现任何问题.

C. *_*alt 5

即使您的计算机是64位,请确保您运行的应用程序是64位.例如,如果您在远程计算机上调试32位应用程序,则需要运行32位版本的msvsmon.exe

这可能不是答案,但需要检查以确保.

2017年更新

由于过去几年我一直在使用远程调试,我已经注意到我通常需要解决的一些问题.

  1. 确保在每台计算机上使用相同版本的msvsmon.
  2. 确保正确配置了身份验证(首先尝试进行身份验证,然后在需要时再打开身份验证)
  3. 确保在附加到进程时,您具有正确的"附加到"设置(即托管.NET版本,本机代码等)
  4. 确保msvsmon作为Admin OR运行,并且与要调试的应用程序具有相同的用户标识


Mot*_*tti 2

从 Visual Studio 2012 开始,您可以使用远程(无身份验证)传输来调试托管代码(以前 VS 只允许在远程模式下调试本机代码)。