如何将调试器附加到在 Windows Azure VM 上运行的应用程序?

Posted

技术标签:

【中文标题】如何将调试器附加到在 Windows Azure VM 上运行的应用程序?【英文标题】:How to attach a debugger to an application running on Windows Azure VM? 【发布时间】:2014-01-22 02:19:18 【问题描述】:

我对 Windows Azure 的经验很少。

我有一个正在运行的 VM,使用远程桌面连接到它,将我的 C# 可执行文件粘贴到那里。

然后,我安装了 Visual Studio 远程调试工具,启动它,将其配置为允许来自任何用户的经过身份验证的连接,并将端点配置到它提到的端口 (4018)。

但我似乎无法将 Visual Studio 连接到实例。我尝试输入 VM 地址:端口,但这似乎不起作用。

这甚至可以做到吗,或者远程机器必须在同一个网络上而不是在互联网上?是否有任何指南解释该过程?我发现的大部分内容都与调试 azure 应用程序有关,但似乎与任意程序无关。

【问题讨论】:

【参考方案1】:

您是否为此虚拟机创建了新的云服务,以便将该端口开放给外部?否则,任何外部客户端都将无法连接。

http://www.windowsazure.com/en-us/manage/windows/how-to-guides/setup-endpoints/

但您可能会考虑在 Azure 中的另一个 VM 中安装 VS,因为这样可以加快速度。

【讨论】:

【参考方案2】:

不支持通过 Internet 使用 Visual Studio 远程调试工具进行远程调试 - http://msdn.microsoft.com/en-us/library/vstudio/bt727f1t.aspx

因此,您可能不得不改用旧的编写日志和分析日志的方式。

【讨论】:

【参考方案3】:

你可以做到。请参阅“如何调试 Azure 虚拟机”。

http://msdn.microsoft.com/en-us/library/azure/ff683670.aspx#BK_Debugging_Cloud_Azure

该页面还解释了如何调试云服务。

同样使用较新的 Azure 工具版本,如果您正在运行云服务,并且启用了云服务进行调试,您实际上可以先调试云服务,然后您可以通过使用 ' 轻松切换到调试应用程序调试 -> 附加进程的菜单项。 (您必须将对话框中的“限定符”设置为您正在调试的 azure VM 的限定符,然后您应该会看到 Azure VM 上的所有进程都显示在可附加的进程列表中。)

【讨论】:

看来此内容已移至此处:azure.microsoft.com/en-us/documentation/articles/…

以上是关于如何将调试器附加到在 Windows Azure VM 上运行的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法将调试器附加到在此订阅中运行的应用服务?

如何在本地启动 Azure 功能并通过 launch.json 和 tasks.json 将调试器附加到动态处理?

将Visual Studio 2012附加到在Android移动设备上运行的Unity游戏中,以进行调试

azure terraform 将 azure 文件共享附加到 Windows 机器

如何将 azure 广告集成到在 azure 中也使用 REST API 的 React Web 应用程序

如何将 Windows 调试记录器附加到 spdlog