Azure:远程调试器启动失败

3
我在Windows Azure上部署了一个Web角色,遵循以下教程: http://weblogs.asp.net/scottgu/archive/2013/10/22/windows-azure-announcing-release-of-windows-azure-sdk-2-2-with-lots-of-goodies.aspx 但是当我尝试连接调试器时,出现以下消息:“启动远程调试器失败”。
显然,这是一个已知的问题,微软建议重新启动Visual Studio并重试,但对我来说不起作用。

http://msdn.microsoft.com/en-us/library/windowsazure/dn459835.aspx

远程调试可能无法附加到现有的云服务:

部署新云服务后,调试器可能无法附加到现有云服务,并显示错误消息“启动远程调试失败”。为解决此问题,请重新启动Visual Studio并将调试器重新附加到新部署中。

因此,我想在这里询问是否有人遇到过相同的问题,并找到了除重新启动Visual Studio之外的其他解决方法!

我正在使用带有Azure SDK 2.2的Visual Studio 2012。

7个回答

4

确保您将 Debug 构建部署到 Web 角色上,并在部署期间在高级选项卡中勾选了“启用所有角色的远程调试”。如果未执行这两个步骤,可能会导致您看到的问题。


非常感谢,但不幸的是我已经这样做了,但仍然是一样的。 - Khaled Hamdy
1
需要使用 Debug 构建配置,而不是基于 Debug 设置的自定义构建配置(例如开发、测试)吗? - icelava

1
如果对他人有帮助的话,我刚刚花了3个小时!最终我放弃了,使用“Cloud Explorer”(在安装Azure SDK后,在VS 2013中),我选择了“禁用调试”,并注意到它清除了VM的网络安全组中的端口规则。
我没有看到它设置这些规则(这就是我花费数小时猜测这些是问题所在并尝试从零散的MS文档、损坏的链接等中找出它们的原因)。
所以,我为VM启用了调试,并看到它设置了安全规则-第一次没有做到这一点!
猜测是因为我最初在将Azure SDK安装到VS中不久之后就为我的VM启用了调试。自那时以来,我重新启动了VS服务器,这可能在SDK中启用了某些内容。
无论如何-在花费数小时查找端口之前,重新启动VS服务器,然后在Cloud Explorer中禁用/重新启用调试-您应该会看到状态消息(在Azure Activity Log中)显示“配置网络安全组调试端口”-这是它第一次没有执行的神奇步骤。

1
我在尝试远程调试Azure中的VM时,遇到了相同的异常,按照Debugging Azure Virtual Machines指南进行。对我有效的方法是简单地安装与我的Visual Studio版本(VS2013 Update2)匹配的远程调试工具。
此外,我还需要在Azure门户中添加一个新的端点。这最初没有起作用,但最终使用相同的公共和私有端口号解决了问题。默认端口4018可用。
在客户端计算机上以管理员模式启动远程调试程序,并记住设置端口号,例如4018。我也选择了Windows身份验证。
从Visual Studio中:调试菜单->附加到进程-> [yourVMName].cloudapp.net:4018或您选择的任何端口号。现在,您应该可以看到虚拟机上的进程列表。

这是否意味着从服务器资源管理器中的Azure节点附加调试器是完全不可能的?我一直收到错误消息,但还没有找出确切的原因。我已经尝试了额外的InputEndpoints来使用4016、4017、4018端口,但都无济于事。在服务器(工作角色)中也没有看到任何内部进程监听这些端口。 - icelava

1
我尝试了以上所有解决方案,但发现都对我无效。我的问题实际上是VS调试器用于连接服务的证书过期或不可访问。我通过查看事件查看器发现了这个问题:

在尝试访问SSL客户端凭据私钥时发生致命错误。加密模块返回的错误代码为0x8009030D。内部错误状态为10003。

我曾经遇到过私钥权限的其他问题,所以最终我删除了所有“颁发给”等于“Windows Azure Tools”的当前用户个人存储中的证书。当我重新部署我的服务时,VS创建了新的证书并上传了它们。

瞧 -- 远程调试器又可以使用了。


1
我当时使用的是Azure SDK 2.2版本,以便使用“附加调试器”功能,但不幸的是,由于2.2需要一些在2.1中未包含的引用,所以我需要使用SDK 2.1版本,这可能就是问题所在。
谢谢大家的帮助。

0
我认为你应该尝试以管理员模式启动VS,并查看是否始终存在相同的问题。
否则,我认为你应该提供更多关于你的问题的细节。

很不幸,我现在处于管理员模式下……而且我正在尝试搜索更多的细节,因为这个消息并不清楚。 - Khaled Hamdy
@KhaledHamdy,有时候我在Azure中会遇到一些错误,并且这些错误会一直存在,直到我重新启动电脑。同时,根据你上面发布的msdn说明,我认为你应该重启VS并进行新的部署。祝好运:( - Swift
谢谢Swift,但不幸的是我已经重启了一切,但仍然是同样的问题 :( - Khaled Hamdy

0

这是我在Azure VM上启用调试的方法。

在撰写本文时,我的当前设置如下:

  • Windows Server 2012 R2 IIS 8.5(虚拟机)
  • Visual Studio 2013 Update 4
  • Microsoft Azure SDK Tools 2.5

    1. 更新Visual Studio到最新的Azure SDK版本
    2. 进入服务器窗口(服务器资源管理器)
    3. 扩展Azure节点
    4. 扩展虚拟机节点
    5. 右键单击要调试的虚拟机
    6. 选择“启用调试”,Visual Studio将开始向您的虚拟机添加调试器扩展
    7. 完成后,在虚拟资源管理器中右键单击虚拟机并选择附加调试器

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接