Поддержка Windows

Важно!

Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio, пока он не будет полностью выведен из эксплуатации, существует несколько рекомендуемых вариантов, на которые вы можете рассмотреть возможность миграции.

Узнайте больше о сроках поддержки и альтернативных вариантах.

В настоящее время Центр приложений поддерживает диагностика для приложений UWP, WPF и WinForms. В этом разделе описывается новый интерфейс для приложений UWP в рамках выпуска пакета SDK 2.5.0. Дополнительные сведения о приложениях WPF и WinForms см. в разделе функции диагностика и пакет SDK для WPF/WinForms.

Универсальная платформа Windows

Центр приложений поддерживает полный набор функций диагностика как для неопубликованных приложений, так и для приложений UWP магазина Windows с помощью пакета SDK 2.5.0 или более поздних версий. Чтобы включить диагностика Центра приложений для приложения UWP, следуйте документации по пакету SDK UWP центра приложений, чтобы интегрировать пакет SDK центра приложений. Дополнительные сведения о полном наборе функций см. в документации по функциям диагностика.

Новые возможности диагностика

В выпуске пакета SDK 2.5.0 в октябре 2019 г. Центр приложений выпустил новый интерфейс диагностика. В этом разделе подробно описаны улучшения и переход в новом выпуске.

Какие улучшения были внесены?

Новый и улучшенный интерфейс диагностика включает в себя следующие дополнения:

  • Полный интерфейс символики, позволяющий отправлять символы в Центр приложений. Дополнительные сведения см. в разделе символики ниже.
  • Поддержка обрабатываемых исключений
  • Число затронутых пользователей на сбой или группу ошибок
  • Возможность добавления заметок для каждого сбоя или группы ошибок
  • Возможность помечать группы сбоев и ошибок как открытые, закрытые или игнорируемые.
  • Возможность скачивания отчетов об ошибках и сбоях
  • Возможность прикреплять, просматривать и скачивать одно двоичное и одно текстовое вложение в отчеты о сбоях
  • Сведения о сбое и отчете об ошибках для каждого экземпляра аварийного завершения, включая время запуска приложения, его аварийное завершение, а также страну, регион и язык, используемые устройством.

Дополнительные сведения о каждой функции см. в диагностика документации по Центру приложений.

Что такое переход?

После обновления пакета SDK UWP для Центра приложений версии 2.5.0 на портале диагностики Центра приложений в новом и улучшенном пользовательском интерфейсе вы увидите данные о сбоях и ошибках. Для данных о сбоях и ошибках, отображаемых в новом пользовательском интерфейсе диагностики, необходимо использовать API, перечисленные в разделе об ошибках. Дополнительные сведения о сопоставлении старых API аварийного завершения с новыми API ошибок см. в документации по переходу api.

Символика

В отчетах о сбоях UWP отображается трассировка стека для потока, вызвавшего сбой. Когда приложение использует .NET Native (обычно в сборках выпуска), трассировка стека может содержать адреса памяти вместо имен классов, методов, имен файлов и номеров строк, необходимых для чтения и понимания сбоев.

Несимволические сбои

Несимволические сбои отображаются в разделе Диагностика Центра приложений, поэтому вы можете просмотреть некоторые сведения еще до отправки символов. Отсутствующие символы в этих сбоях будут отображаться на вкладке "несимволированная". При отправке отсутствующих символов несимволичная группа аварийного завершения будет заменена символичной группой сбоев.

Отправка символов

Чтобы преобразовать адреса памяти, необходимо отправить файл в Центр приложений .appxsym , который содержит все сведения, необходимые для символики.

Локальное создание символов

Чтобы получить .appxsym файл, необходимо создать пакет приложений, как описано здесь. После создания пакета вы найдете файл символов в виде .appxsym файла в папке пакета приложений.

Символы для приложений, встроенных в сборку Центра приложений

Службы сборки и распространения Центра приложений могут автоматически создать допустимый файл символов и отправить его в службу диагностики. Если вы используете Центр приложений для сборки и автоматического распространения приложения среди конечных пользователей, вам не нужно вручную получать и отправлять файлы символов в Центр приложений.

Символы для приложений, опубликованных в Microsoft Store

При публикации приложения в хранилище компиляция .NET Native выполняется на стороне сервера. Поэтому необходимо скачать символы из Центра партнеров.

  1. Найдите приложение в списке и щелкните его.
  2. Разверните меню Управление продуктами на панели слева.
  3. Щелкните Управление пакетами.
  4. Щелкните Показать пакеты в правом верхнем углу для отправки ( версии), для которого требуется использовать символы.
  5. Найдите пакет для нужной версии символов и щелкните ссылки для всех поддерживаемых архитектур, чтобы скачать все символы (например, ссылка Скачать файл символов Windows 10 (x64).

Портал Центра приложений

  1. Войдите в Центр приложений и выберите свое приложение.
  2. В меню слева перейдите в раздел Диагностика и выберите Символы.
  3. В правом верхнем углу щелкните Отправить символы и отправьте файл.
  4. После индексирования символов Центром приложений будут символизованы сбои.

API Центра приложений

Процесс отправки символов через API включает в себя ряд из трех вызовов API: один для выделения места на серверной части, один для отправки файла и другой для обновления состояния отправки. Текст первого вызова API должен иметь значение symbol_typeUWP.

  1. Активация POST запроса к API symbol_uploads. Этот вызов выделяет место на серверной части для файла и возвращает symbol_upload_id свойство и upload_url .
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{JSON BODY}'
  1. upload_url Используя свойство, возвращенное на первом шаге, выполните запрос с заголовком PUT : "x-ms-blob-type: BlockBlob" и укажите расположение файла на диске. Этот вызов отправляет файл в серверные учетные записи хранения. Дополнительные сведения о заголовках запросов BLOB-объектов PUT .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. PATCH Выполните запрос к API symbol_uploads с помощью свойства, symbol_upload_id возвращенного на первом шаге. В тексте запроса укажите, нужно ли задать состояние отправки committed (успешно завершен) процесс отправки или aborted (неудачно завершено).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{ "status": "committed" }'

Примечание

API отправки символов не работает для файлов размером более 256 МБ. Используйте интерфейс командной строки Центра приложений для отправки этих файлов. Вы можете установить интерфейс командной строки Центра приложений, следуя инструкциям в репозитории CLI центра приложений.

Интерфейс командной строки Центра приложений

Вы также можете использовать интерфейс командной строки для отправки файлов символов:

appcenter crashes upload-symbols --appxsym {symbol file}

Игнорирование символов

Если в Центре приложений нет всех файлов символов для полной символики отчетов о сбоях, они отображаются на вкладке Несимволированные . Необходимые символы отправляются с этой страницы, если у вас есть доступ к ним.

Если вы не можете отправить символы, вы можете пометить их как Игнорируемые , выбрав строки в таблице и нажав кнопку Игнорировать версии . Эта кнопка указывает Центру приложений обработать сбои и как можно более полно символично использовать символы в файле. После завершения обработки они появятся на вкладке Аварийное завершение с частичной символией. Новые сбои, которые также зависят от тех же идентификаторов символов, помеченных как игнорируемые, будут обходить вкладку Unsymbolicated по мере их прихода и прохождения через систему.

WinRT, Silverlight и другие платформы

Центр приложений не поддерживает другие платформы Windows, кроме UWP, WPF и WinForms. Если у вас есть приложение Windows с собственными сбоями C++, вы можете отправить эти сбои в Центр приложений с помощью API отправки сбоев.