Поддержка 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 выполняется на стороне сервера. Таким образом, необходимо скачать символы из Центра партнеров.
- Найдите приложение в списке и щелкните его.
- Разверните меню управления продуктами на левой панели.
- Щелкните "Управление пакетами".
- Щелкните "Показать пакеты" в правом верхнем углу для представления (версии), для которого нужны символы.
- Найдите пакет для нужной версии символов и щелкните ссылки для всех поддерживаемых архитектур, чтобы скачать все символы (например, ссылку "Скачать файл символов Windows 10" (x64).
Примечание.
Приложение должно объявить зависимость от любой версии .NET Native для создания символов отладки.
Это объявление должно быть включено в <Dependencies>
раздел вашего AppxManifest.xml
. Пример:
<PackageDependency Name="Microsoft.NET.Native.Framework.2.2" MinVersion="2.2.29512.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
<PackageDependency Name="Microsoft.NET.Native.Runtime.2.2" MinVersion="2 2.28604.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
Портал Центра приложений
- Войдите в Центр приложений и выберите свое приложение.
- В меню слева перейдите к разделу "Диагностика " и выберите "Символы".
- В правом верхнем углу щелкните "Отправить символы " и отправьте файл.
- После индексирования символов в Центре приложений аварийное завершение будет символично для вас.
API Центра приложений
Процесс отправки символов через API включает в себя ряд трех вызовов API: один для выделения пространства на серверной части, один для отправки файла и один для обновления состояния отправки. Текст первого вызова API должен иметь значение symbol_type
UWP
.
POST
Активируйте запрос к API symbol_uploads. Этот вызов выделяет пространство на сервернойupload_url
части файла и возвращаетsymbol_upload_id
свойство.
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}'
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}'
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}
Игнорировать символы
Если в Центре приложений нет всех файлов символов для полностью символьных отчетов о сбоях, то на вкладке "Несимболизованные" отображаются сбои. Необходимые символы отправляются с этой страницы, если у вас есть доступ к ним.
Если вы не можете отправить символы, их можно пометить как игнорируемые, выбрав строки в таблице и нажав кнопку "Игнорировать версии". Эта кнопка сообщает Центру приложений обрабатывать сбои и символично использовать их как можно более полно с символами в файле. После завершения обработки они будут отображаться на вкладке "Аварийное завершение" частично символично. Новые сбои, которые также зависят от тех же идентификаторов символов, помеченных как игнорируемые, обходят вкладку "Несимболизованная " по мере их ввода и прохождения по системе.
WinRT, Silverlight и другие платформы
Центр приложений не поддерживает другие платформы Windows, кроме UWP, WPF и WinForms. Если у вас есть приложение Windows с собственным сбоем C++, вы можете отправить эти сбои в Центр приложений через API сбоев отправки.