【问题标题】:Why Azure Functions doesn't show exceptions in debugger?为什么 Azure Functions 在调试器中不显示异常?
【发布时间】:2020-12-20 09:58:32
【问题描述】:

我是 Azure Functions 的新手,我发现在调试时,如果我的代码遇到一些异常,它不会显示在调试器中(我使用的是 Visual Studio 2019)。此外,它只记录没有堆栈跟踪信息的异常,因此很难找出错误。现在我正在使用 try catch 块并像这样记录堆栈跟踪-

try
{
    var LoginWithCustomIdAsync = await PlayFabClientAPI.LoginWithCustomIDAsync(new LoginWithCustomIDRequest
    {
        CustomId = Data.CallerEntityProfile.Entity.Id,
                TitleId = Data.TitleAuthenticationContext.Id
    });

}
catch (Exception e)
{
    log.LogInformation(e.Message+"--"+e.StackTrace);
}

但我想要一个更好的解决方案。现在我正在本地运行我的天蓝色函数。那么我有什么遗漏的吗?

host.json 代码

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true
      }

    }
  }

}

【问题讨论】:

  • 我觉得function也属于dotnet编程,和VS一样,调试时应该共享相同的操作,那么在VS中能正常调试控制台应用吗?
  • 是的,当 Azure 函数中出现某些预期时,您的调试器会显示吗?这是控制台应用程序cdn.discordapp.com/attachments/697845282309931012/… 中发生异常的快照
  • 当然,当我的程序进入异常时,我会看到类似的窗口来显示与屏幕截图一样的错误信息。那么,当你调试一个函数时,这个窗口从来没有出现过?
  • 是的,它从未出现过,这是一个显示drive.google.com/file/d/1xQoFiOgr8n0ygEkIzL3qCj0jge_RwqoU/…的短视频
  • @Tiny-wa 好的,你是对的,它确实遇到了异常,但它也是一个错误(我使用的是 vs studio 2019 企业版)。当我将控制台应用程序添加到解决方案时,它也开始适用于 azure 功能,当我从解决方案中删除该临时控制台应用程序时,它也停止适用于 azure 功能。明天我会为它提出一个错误。谢谢,如果您没有提到它可以在您的系统上运行,我不会注意到这一点。

标签: azure azure-functions azure-functions-core-tools


【解决方案1】:

我解决了,所以我发现我需要更改异常设置才能在 Visual Studio 中获取异常并获取在 Web 上运行 azure 函数的异常,您需要添加应用程序洞察 NuGet 包并设置应用程序洞察在网络上。 然后异常将显示在应用程序洞察失败窗口中

Vs studio Exception setting

Application insight Failures window

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2012-02-12
    • 2020-09-16
    • 2010-09-16
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多