如何在没有Visual Studio的机器上设置远程debugging

有没有办法在没有安装Visual Studio的机器上设置远程debugging(Msvscom.exe)?

我想附加在虚拟机上运行的服务,所以我可以debugging代码中的问题。 我以前做过,但两台机器都安装了VS。

Dev框正在运行Visual Studio 2010 / Widnows 7.虚拟机在没有Visual Studio的情况下运行Windows 7。

我要复活这个,因为任何试图这样做的人都知道,每次都是屁股疼痛,而且它可能会随着主机/远程系统的每个可能的组合而变化。

Visual Studio远程工具链接:

  1. Visual Studio 2010远程debugging器。 (截至2016年10月21日)
  2. Visual Studio 2013远程工具 (截至2016年10月21日)
  3. Visual Studio 2015远程工具 – 直接下载链接
  4. Visual Studio工具(感谢Robo烧毁)

这是我今天成功的设置:

主机(开发)机器:
Windows 7旗舰版SP1 x64。 运行Visual Studio 2010,.NET Framework 4。

远程机器:
工业/工厂地面PC,运行Windows Embedded Standard 32位。 它看起来/感觉就像Windows 7一样。运行SP1。 Visual Studio没有安装。 有.NET框架4。

networking:
两台机器都在同一个子网上。 我通过RDP访问远程机器,并以这种方式运行我的应用程序。

微软专有的毛囊劣化实施:
记下你的开发机器的用户名和密码。 出于某种原因,您必须在远程计算机上创build完全相同的用户名和密码。 因为微软。

我是如何做到的:
我从@sJhonny提供的链接下载了Visual Studio 2010远程debugging器。 我不得不在那篇文章中closuresVisual Studio 2013,直到2010年。如果你在2010年的文章中仔细阅读下面的内容,那么这个链接就在“没有人发现这个最有用的“链接。 如果没有,只需按照上面的链接。

在远程计算机上安装并运行configuration向导。 我离开了向导的默认值:

  • “运行”Visual Studio …..“被closures
  • 用户名是LocalSystem,密码为空
  • 只允许本地networking上的电脑….

运行远程系统上的远程debugging器,你会看到

Msvsmon启动了一个名为“username @ machinename …”的新服务器

在界面中。 到现在为止还挺好。 在远程机器上运行应用程序。 在开发机器上,visual studio中的Ctrl + Alt + P将打开“附加到进程”(也在工具菜单下)。 我得到了一个关于我的开发机防火墙没有被正确configuration的popup窗口,被问到是否我想要允许连接等等。

input“用户名@机器名”组合进入限定符框…按刷新,并祈祷一点。 再多做一点努力,你会看到在远程机器上运行的进程列表。 select你的过程,并附加到它。

但我的断点不起作用!? 当然,他们不会…因为在远程机器上使用与应用程序在同一个目录中的断点将是非常有意义的。 如果你足够幸运,你会得到一个关于断点caching的警告,并显示一个包含path的对话框。

该对话框提到了与远程机器相关的一些事情。 它在撒谎。 它与远程机器没有任何关系,只不过它迫使你在那里创build一个全新的用户,因为它和你当前的用户名相同,因为微软。 要使断点工作,请遵循开发计算机上的path(可在工具>选项>debugging>符号:在此目录中caching符号进行定制),并将应用程序的.pdb文件复制到该目录中。 除非有自动执行的选项,否则您必须将其复制到每个新build版本。 我没有检查,因为我还没有停止庆祝我的远程debugging成功。

一切都应该现在工作。

我希望能够帮助别人节省我在这些年来为了在不同的机器上工作而忍受的盲目怒气。

当然有。
您可以安装msvsmon而不安装visual studio。
我在几台机器上自己做了这个。
棘手的部分在于授权 – 在本地机器上运行VS的用户需要特殊的远程机器上的特权。
ms有一些文章解释细节 – http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

更新:这是2017年的链接,这是不明显的find。

Visual Studio远程工具链接x64直接链接

Visual Studio远程工具链接x86直接链接

取自: how-to-implement -remove-remote-debugging-in-visual-studio-2005

让我们来看一个例子来清楚地理解这种情况。 Molly Clark和Adam Barr都是Adventure Works的雇员。 Adventure Works有一个名为adventure-works.com的Microsoft Windows NT域。 Adam在Molly写的一些软件上遇到了麻烦。 莫莉想在亚当的电脑上debugging这个软件。 莫莉和亚当遵循这些步骤:

  • Adam在他的电脑上没有远程debugging器。 为了设置远程debugging器,Molly决定在她的计算机上共享Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ Remote Debugger目录。 她创build一个名为Remote的文件共享。
  • Adam运行\ MollyComputerName \ Remote \ x86 \ Msvsmon.exe。
  • 远程debugging器启动后,Adam单击“工具”菜单上的“权限”,使用“权限”对话框configuration远程debugging器。 他给了Molly许可debugging。
    注意 Adam也可以在远程debugging器启动时通过传递/ allow选项来configuration远程debugging器。
  • 莫莉开始Visual Studio 2005。
  • 要打开“附加到进程”对话框,Molly在“工具”菜单上单击“附加到进程”。
  • Molly通过在限定符框中inputadventure-works.com \ Adam @ AdamComputerName连接到Adam的电脑。
  • 在“可用进程”下,Mollyselect她的应用程序正在使用的工作进程,然后单击“附加”。
  • Molly打开浏览器并将URL提供给远程应用程序。 执行停止在应用程序中放置断点的地方。