Azure网站调试

Pau*_*aul 12 azure azure-web-roles

我知道我可以使用此处概述的方法调试Azure Web角色:http: //msdn.microsoft.com/en-us/library/windowsazure/ee405479.aspx

调试Windows Azure网站的过程是什么?

我希望能够单步执行代码,设置断点等.

jdh*_*rst 14

根据最近这篇文章,现在可以做到这一点.

以下是Visual Studio 2012的必要步骤,取自该帖子:

  1. 在Windows Azure管理门户中,转到网站的"配置"选项卡,然后向下滚动到"站点诊断"部分
  2. 将远程调试设置为开,并将远程调试Visual Studio版本设置为2012
  3. 在Visual Studio"调试"菜单中,单击"附加到进程"在"限定符"框中,输入网站的URL,不带http://前缀
  4. 选择显示所有用户的进程
  5. 当系统提示您输入凭据时,请输入有权发布网站的用户名和密码
    1. 要获取这些凭据,请转至管理门户中的网站"仪表板"选项卡,然后单击"下载发布配置文件".在文本编辑器中打开文件,在第一次出现userName =和userPWD =后,您将找到用户名和密码.
  6. 当进程显示在"可用进程"表中时,选择"w3wp.exe",然后单击"附加"
  7. 打开浏览器到您的站点URL.在Windows Azure设置服务器以进行调试时,您可能需要等待20秒左右.此延迟仅在您第一次在网站上以调试模式运行时发生.在接下来的48小时内,当您再次开始调试时,将不会有延迟.

  • 如果您没有达到断点,请确保已在Debug配置中发布而不是Release (3认同)

ast*_*kov 9

答案与任何共享主机提供商中如何调试(asp.net)网站的问题的答案相同?

  • 正确处理/记录异常
  • <compilation debug="true" />调试时使用(仅在调试时使用)
  • 启用网站的所有和任何类型的错误报告(附图如下)
  • [在这里插入您最喜欢的调试共享主机站点的方式]

Azure网站诊断


pcd*_*dev 5

更新: Azure 门户已更改,应用程序设置边栏选项卡已停用。


我认为这值得为 Azure 管理门户和 VS 的最新版本提供更新的答案。

这就是我使用 Visual Studio 2017 Preview 7.1 对 ASP.Net Core 2.0 API 实现远程调试的方式:

  1. 打开Azure 管理门户,浏览到您的 Web 应用,单击配置 > 常规设置,然后打开远程调试。以前它也要求 VS 版本,但这似乎不再是一个选项,我假设远程调试平台现在自动检测(但也可能是 2015 年之前的 VS 版本不再支持,见下面的评论)

在此处输入图片说明

  1. 编辑发布配置文件并将配置设置为调试,然后将 API 重新发布到 Azure:

在此处输入图片说明

  1. 在代码中设置断点
  2. 在 Visual Studio 中打开服务器资源管理器窗格,如果尚未使用 Microsoft 帐户连接到 Azure,请连接它。

  3. 打开Azure > 应用服务 > [资源组],然后右键单击您的 Web 应用并选择Attach Debugger。经过一些配置后,它应该附加,并且(如果已配置)VS 将打开一个浏览器到您的 Azure Web 应用程序。

在此处输入图片说明

在此处输入图片说明

  1. 点击你的网站/API,你的断点应该被点击。

我收集的最后笔记:

  • 我注意到菜单中偶尔会缺少“附加调试器”选项。如果停止服务是一个选项,那么从菜单中选择停止(等待)然后选择开始就足以使该选项再次出现。可能还有其他修复。
  • 一些官方文档
  • 不要忘记将发布配置文件上的配置更改回 Release,并重新发布 Release 版本。不要在生产中使用调试。谢谢@曼弗雷德。
  • 避免在断点处长时间停止(谁能解释这可能会产生什么影响?)
  • 看来48小时后,远程调试功能会自动关闭(目前还不能确认)