【问题标题】:Remote Debugger over internet (Remote IP machine)互联网上的远程调试器(远程 IP 机器)
【发布时间】:2011-09-21 10:55:23
【问题描述】:

我的设置: 本地电脑:x86 vista & visual studio 客户端服务器:x64 服务器(静态 ip)。

目前我使用远程桌面连接它。远程调试器作为服务运行,并且有一个用户名作为服务登录。

我可以为此设置配置远程调试器吗?

指导,经验将使我的生活少一点地狱。谢谢。

【问题讨论】:

  • 这需要 VPN 连接。询问 serverfault.com
  • @HansPassant 不,这不需要 VPN(至少在我调试 C# 应用程序的情况下)。请参阅下面的答案。

标签: visual-studio remote-debugging


【解决方案1】:

我遇到了类似的问题,就像上面的 Hans Passant 所说,VPN 是必要的。通过执行以下操作,我能够附加到该进程并通过 Internet 进行调试:

  1. 在服务器上安装最新的微软远程调试器。
  2. 在我的本地计算机和服务器上安装 Hamachi 并连接,以便我在同一个网络上。
  3. 在我本地机器的 Visual Studio 上转到 Debug->Attach To Process 并输入服务器的 Hamachi IP 地址。
  4. 选择“显示所有用户的进程”并选择有问题的进程。

注意:我在两台机器上都以完全相同的用户身份登录,并且在每台机器上都使用相同的密码。

我希望这对那里的人有所帮助。

【讨论】:

  • 很好的答案。 Hamachi 速度相当慢,但效果很好。我使用端口 443 进行远程调试以通过防火墙,并且必须使用 Hamachi 的 2.1 版本,2.2 版本存在一些已知的安装问题。
  • Hamachi 对我来说效果很好,但我无法将它作为直接隧道连接,只有中继隧道才能工作,只要我通过 RDP 连接到主机。我还遇到了一个服务器,我必须使用配置向导并选择运行远程调试器作为服务才能使其工作。
  • 如上 - 使用步骤 1,3 和 4(无 Hamachi)。以 Windows 身份验证模式在服务器上运行 MSVSMON.exe(仅接受所有默认值)。工作(缓慢) - 但工作。注意:您必须在本地计算机上创建与用于登录远程计算机(服务器)的用户和密码相同的用户和密码。我的设置:Windows 8.1 上的 VS2012 调试到 Windows Server 2008 Standard。
  • 哇,它奏效了——我在博客中写了更多详细信息:keyoti.com/blog/…
【解决方案2】:

无法引导您的调试器在远程桌面上工作。

查看How to: Set Up Remote Debugging,特别是“配置 Windows 防火墙”部分。您需要确保可以连接到正确的端口,这需要更改软件和/或硬件防火墙。 VPN 可能是解决方案的一部分(正如@Hans Passant 在他的评论中所建议的那样)。

更简单的答案可能是将 Visual Studio 安装在与您尝试调试的网络相同的计算机上。然后您的调试器正在建立本地连接,并且您仍在通过远程桌面与远程网络进行交互。我不确定这是否是一个选项。

【讨论】:

  • 谢谢,我是一名研究人员,正在研究存储在地球另一端的服务器中的大型数据集。我编写代码,推送到 github,从服务器拉取并运行。我正在寻找一种更有效的方法来执行此操作,因为我经常更改代码。
【解决方案3】:

对我来说,它只是通过公共 IP 地址工作。确保 Visual Studio 远程工具在安装时将为所有相关网络打开防火墙端口。列出进程时,还要确保连接目标公网IP地址写的是TCP端口(VS2019默认为4024)。

【讨论】:

    【解决方案4】:

    无需第三方应用!

    (我建议关注this tutorial,尤其是底部标题为“设置远程调试器”的部分)。但是,简而言之,在远程计算机上安装 Remote Debugging Tools 后,使用 administrator privilegges 运行它,然后:

    • 打开Windows Firewall设置页面

    • 点击Advanced Settings会出现这样的窗口:

    • 点击Inbound Rules->New Rule并在以下页面中选择:
      - [规则类型] Custom
      - [程序] Specific program (并选择:C:\Program Files\Visual Studio\Common7\IDE\Remote Debugger\x64\msvsmon.exe 或任何您正确的路径,还要注意x86/x64 您想要的路径)
      - [协议和端口] 通过单击 Next 跳过该页面(或者为了最大的安全性,您实际上可以选择 Remote Debugger 窗口显示的确切端口)
      - [范围] 在第二个字段(其中显示 Which REMOTE IP..)中选择您当前的 IP 地址
      - [行动]Allow connection
      - [简介] 下一篇
      - [名称] 你想识别的任何 slug,即My rule for VS

    • 您可能需要的最后一步是为远程计算机上的文件夹设置连接(硬链接)以正确解析应用程序文件:
      * 当与 Remote-Desktop 连接时,share drive from Local Resources > More > Drives > C
      * 连接后,在远程“我的电脑”上会出现您的“映射驱动器”并复制它的位置(即\\RobertoPC\)。然后以管理员权限打开CMD 并执行:

      mklink /D C:\my_folder \\RobertoPC\C\my_folder

    • 在您的本地 PC C: 驱动器上创建一个文件夹 my_folder 并将项目放入该文件夹,然后使用远程调试选项运行项目:

    【讨论】:

      猜你喜欢
      • 2017-01-14
      • 1970-01-01
      • 2015-09-24
      • 2019-02-12
      • 2015-11-20
      • 2016-10-30
      • 2013-01-03
      • 2018-10-19
      • 2014-07-27
      相关资源
      最近更新 更多