【问题标题】:Remote Debug with Amazon Web Services (EC2) and c# Windows Service/WCF使用 Amazon Web Services (EC2) 和 c# Windows Service/WCF 进行远程调试
【发布时间】:2011-08-14 04:36:16
【问题描述】:

我在 Amazon EC2 云中有一个 Windows Server 2008 R2。我希望能够从我办公室的桌面调试在该服务器上运行的 C# Windows 服务或 WCF 服务。

过去我们通过在云中的服务器上安装 Visual Studio 来解决这个问题,但我们对本地服务器使用远程调试,所以我希望有办法让它在云中工作。

有没有人在云中没有 VPC/域的情况下完成了对 Amazon 云的远程调试?

任何建议或解决方案将不胜感激。

【问题讨论】:

    标签: c# wcf windows-services amazon-ec2 remote-debugging


    【解决方案1】:

    针对 EC2 实例的远程调试与针对本地服务器的远程调试没有什么不同,除了防火墙配置...

    我建议设置与 EC2 服务器的 VPN 连接,而不是打开防火墙端口(PPTP 既快速又简单)。

    如果您更愿意打开防火墙端口,我“认为”您至少需要以下(未经测试):

    TCP 139、TCP 445、UDP 137、UDP 138(都与 DCOM 相关)

    【讨论】:

    • VPN 是个好主意。谢谢!
    • 对于 Visual Studio 2012 远程调试,您需要使用端口 4016 和 4017。
    【解决方案2】:

    在 EC2 实例上总是给我带来问题的另一件事是没有将 /hostname 参数传递给 msvsmon。 msvsmon 喜欢默认为内部主机名,并会启动显示类似“正在侦听 'ip-1-2-3-4.us-west-2.compute.internal”的内容,这意味着它将忽略来自 Visual Studio 的连接尝试认为他们正在与“ec2-7-8-9-0.us-west-2.compute.amazonaws.com”交谈的客户。要解决此问题,请获取 EC2 实例的完整公共 DNS 名称或公共 IP,然后启动 msvsmon.exe:

    msvsmon.exe /hostname ec2-7-8-9-0.us-west-2.compute.amazonaws.com
    

    然后在 Visual Studio 中:

    1. 工具-->附加到进程
    2. 将传输设置为“默认”
    3. 将限定符设置为您在启动 msvsmon.exe 时为主机名传递的任何内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2010-12-27
      • 2011-11-01
      • 2011-04-12
      • 2015-12-26
      相关资源
      最近更新 更多