【问题标题】:How do I remote debug a net46 ASP.NET Core application in Azure?如何在 Azure 中远程调试 net46 ASP.NET Core 应用程序?
【发布时间】:2017-02-20 09:12:51
【问题描述】:

我正在尝试在 Azure 中远程调试我的 net46 ASP.NET Core 应用程序。调试器似乎可以很好地附加到进程(WebApiNetCore.exe),但是我设置的断点没有被命中。

我必须选择的可用进程是here

我已尝试选择所有这些选项,但它们似乎也不起作用。

目前是否可以远程调试 net46 ASP.NET Core 应用程序?

【问题讨论】:

  • 您是否尝试过更改“附加到”选项中的代码类型?尝试“自动确定类型”或“托管 CoreCLR”。另外你在哪里设置断点?例如,我要求无法访问 Startup 类中的初始化方法。
  • 我有。我都试过了,都没有达到断点。符号也不会加载,因为它们通常会在断点被命中之前加载。它是一个 webApi 应用程序,因此在收到 REST 调用后设置断点。我可以验证是否可以访问启动类,因为 WebApi 运行正常并且在 Azure 上运行。
  • 我已经尝试了链接。它不适用,因为我没有 dnx.exe 选项。它是一个 ASP.NET Core 1.0 net46 应用程序。
  • 您应该查找确切的进程名称(在您的情况下为 WebApiNetCore.exe),而不是 RC2 中已删除的 dnx.exe。您是否尝试过以调试而非发布模式发布您的应用?

标签: azure asp.net-core remote-debugging


【解决方案1】:

我已找到解决此问题的方法。

最初,如果我通过 Cloud Explorer 选择“附加到调试器”,我会收到以下错误:

所以我尝试了以下步骤来手动附加调试器:

  1. 从 Cloud Explorer 下载我的应用的发布配置文件
  2. 记下用户名和用户密码
  3. 在 VS2015 中,调试 -> 附加到进程
  4. 为应用选择适当的限定符(在我的例子中是 internal.enowdev.com:4020)
  5. 输入凭据时,需要使用用户配置文件中的用户名和 userPWD。确保在用户名前加上“.\”,使域成为本地计算机。
  6. 选择 WebApi.exe 托管进程。
  7. 符号现在加载并且调试器命中断点!

【讨论】:

  • 在 VS 2015 aspnet core target .net 452 上为我工作
  • 不接受我的凭据(目前截至 2017 年 5 月)。尝试“.\”前缀、无前缀、用户名前无“$”、用户名前无“$”、azurewebsites.net 域名、自定义域名的所有组合。它可以连接到 Azure - 它只是不接受(最新的)凭据。
【解决方案2】:

我遇到了同样的问题,用户名/密码无效。事实证明,Azure 门户中的“应用程序设置”中该 Web 应用的远程调试已关闭。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多