Почему функции Azure не показывают исключения в отладчике?

Я новичок в функциях Azure и обнаружил, что при отладке, если мой код попадает в какое-либо исключение, он не отображается в отладчике (я использую 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
      }

    }
  }

}

person karan sharma    schedule 20.12.2020    source источник
comment
Я думаю, что функция также относится к программированию dotnet, а с VS они должны использовать одни и те же операции при отладке, поэтому можете ли вы нормально отлаживать консольное приложение в VS?   -  person tiny-wa    schedule 20.12.2020
comment
да, ваш отладчик показывает, когда в функции Azure происходит какое-то ожидание? Вот снимок исключения, возникающего внутри консольного приложения cdn.discordapp.com/attachments/ 697845282309931012 /   -  person karan sharma    schedule 20.12.2020
comment
Конечно, когда моя программа перешла в исключительную ситуацию, я увижу аналогичное окно, чтобы показать информацию об ошибке в vs, как на вашем скриншоте. Итак, когда вы отлаживаете функцию, это окно никогда не появлялось?   -  person tiny-wa    schedule 20.12.2020
comment
да, это никогда не появляется, вот короткое видео, показывающее drive.google.com / file / d / 1xQoFiOgr8n0ygEkIzL3qCj0jge_RwqoU /   -  person karan sharma    schedule 20.12.2020
comment
@ Tiny-wa, хорошо, вы были правы, это действительно исключение, но это тоже ошибка (я использую vs studio 2019 Enterprise). когда я добавляю в решение консольное приложение, оно начинает работать и для функций Azure, а когда я удаляю это временное консольное приложение из решения, оно перестает работать и для функций Azure. завтра подниму за это баг. Спасибо, я бы этого не заметил, если бы вы не упомянули, что он работает в вашей системе.   -  person karan sharma    schedule 20.12.2020
comment
@CarlZhao Я думаю, что это неправильный ответ, поэтому оставлю его только таким. Правильный ответ, который сработал для меня, - изменить настройку исключения. Лучше включите все, а потом отключайте по ходу дела.   -  person karan sharma    schedule 21.12.2020


Ответы (1)


Я решил это. Итак, я обнаружил, что мне нужно изменить настройку исключения, чтобы получить исключение в Visual Studio и получить исключение для запуска функции Azure в Интернете, вам нужно добавить пакет NuGet для анализа приложений, а также настроить анализ приложений в Интернете. Тогда исключение отобразится в окне Ошибки Application Insight.

Настройка исключений по сравнению с Studio

Окно ошибок Application Insight

person karan sharma    schedule 21.12.2020