В UWP Application Insights нет стека вызовов для сбоев

У меня есть настройка Application Insights для нового проекта UWP.

Однако я получаю всю информацию и вылетает правильно, когда я пытаюсь просмотреть подробности об исключении, я получаю всю информацию, но:

  • Стек вызовов недоступен
  • Неудачный метод: неизвестно

Я включаю так в конструкторе App.xaml.cs:

WindowsAppInitializer.InitializeAsync();

person BradStevenson    schedule 23.11.2015    source источник
comment
виндовс 10 ап? это релизная сборка? если вы можете воспроизвести сбой, вы можете запустить fiddler и посмотреть, какие выходные данные вышли, когда AI отправляет свои выходные данные, чтобы увидеть, какие данные были отправлены. Сборки выпусков Win 10 теперь являются родными для .net, поэтому исключение составляют в основном только ячейки памяти и смещения, например, код C++...   -  person John Gardner    schedule 25.11.2015
comment
например, см. этот вопрос о том, как выглядит FileNotFoundException на win10: title="filenotfoundexception в универсальном приложении Windows 10 UAP"> stackoverflow.com/questions/33572396/   -  person John Gardner    schedule 25.11.2015
comment
чтобы получить полную информацию о аварийном дампе для приложений UAP для Windows 10, вам, вероятно, потребуется использовать что-то вроде HockeyApp (часть организации Application Insights), см. support.hockeyapp.net/kb/   -  person John Gardner    schedule 25.11.2015


Ответы (1)


Если вы можете самостоятельно обработать исключение, вы можете добавить трассировку стека (и все остальное) в качестве настраиваемых свойств. В нашем приложении мы используем глобальный обработчик исключений, инициализированный в конструкторе приложения:

CoreApplication.UnhandledErrorDetected += UnhandledError;

Сам обработчик выглядит примерно так:

private void UnhandledError(object sender, UnhandledErrorDetectedEventArgs eventArgs)
{
    try
    {
        eventArgs.UnhandledError.Propagate();
    }
    catch (Exception e)
    {
        var properties = new Dictionary<string, string>()
            {
                { "trace", e.StackTrace },
                { "mesage", e.Message },
            };

        telemetryClient.TrackCrash(e, properties);
    }
}
person Petter Hesselberg    schedule 07.01.2016