如何在远程计算机上启动调试过程?

时间:2013-10-22 07:49:31

标签: winforms remote-debugging

我正在为用C#编写的标准Windows Forms应用程序设置Visual Studio远程调试会话。

在互联网上有很多关于如何设置远程计算机和MSVCMON.EXE的故事,但我找不到任何关于如何在我的计算机上做什么的故事,以确保我的程序在远程调试我按START START ADBUGGING时计算机。

那么我该怎样做才能进行远程调试呢?

1 个答案:

答案 0 :(得分:16)

经过一些研究后,我发现了如何做到这一点,即使你在一家公司工作,这个公司在防火墙等方面存在很多安全问题。我需要IT部门唯一需要的是两台计算机上的管理员权限

先决条件:

  • 我在Visual Studio 2012 Professional中使用了这种方法,并在几年后再次在Visual Studio 2013 Ultimate中对其进行了测试。
  • 本地计算机和远程计算机都在同一个域中。
  • 我以域名成员身份登录。

怎么做:

  • 在远程计算机上:使用普通帐户登录。如果这是第一次为您创建新环境。
  • 在远程计算机上:确保您拥有管理员权限。
  • 在远程计算机上:启用远程桌面。
  • 在本地计算机上找到Visual Studio的远程调试文件夹。
  • 在我的电脑上,这是:“C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Remote Debugger”
  • 将此文件夹复制到远程计算机上的类似(可查找)文件夹中。
  • 在远程计算机上,从复制的文件夹中运行MsvsMon.exe。
  • 第一次进行安装。让它改变防火墙。
  • 使用工具选项 - Windows身份验证
  • 使用工具权限确保您是具有调试权限的用户。

msvsmon.exe程序现在应该等待新的连接。服务器的名称类似于“远程计算机名称”:“端口号”,例如Prototype1:4016

现在,在使用Visual Studio开发程序的本地计算机上,执行以下操作:

  • 打开Visual Studio,然后加载解决方案。
  • 如果还没有这样做:设置启动项目(右键单击启动项目并选择start作为启动项目。
  • 启动配置管理器(使用调试/发布选择单击组合框旁边的箭头,然后选择配置管理器...)。
  • 在配置管理器“Active solution configuration”中选择new。为新配置指定一个正确的名称,并将其作为Debug(可能)的副本。
  • 为远程调试创建代码时,您必须选择新配置。
  • 需要更改此新配置的某些设置。例如,您必须确保在构建结果代码之后在远程计算机上。最简单的方法是双击启动项目的属性并选择构建选项卡。将输出路径从bin \ debug更改为远程计算机上您想要代码的位置。例如:\\Prototype1\Users\Harald\Documents\CameraTestProgram\
  • 在相同的属性表单中,在“调试”选项卡上,选择调试会话应在哪台计算机上:检查:使用远程计算机“并填写与MsvsMon.exe中相同的名称。在我的示例中:键入{{ 1}}。
  • 在Visual Studio中构建代码,设置断点并开始调试。
  • 使用远程桌面连接来控制Windows窗体。

如果要调试用C#编写的普通Windows窗体应用程序,则此方法有效。我发现如果你使用不安全的代码它甚至可以工作。如果您的程序包含C ++代码,则会有一些警告,但可以忽略它们。

Microsoft链接(2013年10月,仍在2015年8月):