Получение трассировки стека при возникновении ошибки в классическом приложении
Используйте этот метод в API аналитики для Microsoft Store для получения трассировки стека по ошибке в классическом приложении, которое вы добавили в программу для разработчиков классических приложений для Windows. Этот метод позволяет скачать трассировку стека только для ошибок, возникших за последние 30 дней. Трассировки стека также доступны в отчете о работоспособности классических приложений в Центре партнеров.
Прежде чем воспользоваться этим методом, вам потребуется использовать метод получения подробных сведений об ошибке в классическом приложении, чтобы получить хэш идентификатора CAB-файла, связанного с ошибкой, для которой требуется получить трассировку стека.
Предварительные требования
Для использования этого метода сначала необходимо сделать следующее:
- Если вы еще не сделали этого, выполните все необходимые условия для API аналитики для Microsoft Store.
- Получите маркер доступа Azure AD, который будет использоваться в заголовке запроса этого метода. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый маркер.
- Получите хэш идентификатора CAB-файла, связанного с ошибкой, для которой требуется получить трассировку стека. Для получения этого значения используйте метод получения подробных сведений об ошибке в классическом приложении, чтобы получить подробные сведения об определенной ошибке в приложении, и значение cabIdHash в тексте ответа этого метода.
Запрос
Синтаксис запроса
Метод | Универсальный код ресурса (URI) запроса |
---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/analytics/desktop/stacktrace |
Заголовок запроса
Заголовок | Тип | Описание |
---|---|---|
Авторизация | строка | Обязательный. Маркер доступа Azure AD в видемаркера>носителя<. |
Параметры запроса
Параметр | Тип | Описание | Обязательно |
---|---|---|---|
applicationId | строка | Код продукта классического приложения, для которого требуется получить трассировку стека. Чтобы получить идентификатор продукта классического приложения, откройте любой аналитический отчет для классического приложения в Центре партнеров (например, отчет о работоспособности) и получите идентификатор продукта по URL-адресу. | Да |
cabIdHash | строка | Уникальный хэш идентификатора CAB-файла, связанного с ошибкой, для которой требуется получить трассировку стека. Для получения этого значения используйте метод получения подробных сведений об ошибке в классическом приложении, чтобы получить подробные сведения об определенной ошибке в приложении, и значение cabIdHash в тексте ответа этого метода. | Да |
Пример запроса
В следующем примере показано, как получить трассировку стека с помощью этого метода. Замените параметры applicationId и cabIdHash соответствующими значениями для вашего классического приложения.
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/desktop/stacktrace?applicationId=10238467886765136388&cabIdHash=54ffb83a-e159-41d2-8158-f36f306cc01e HTTP/1.1
Authorization: Bearer <your access token>
Ответ
Текст ответа
Значение | Тип | Описание |
---|---|---|
Значение | array | Массив объектов, каждый из которых содержит один кадр данных трассировки стека. Дополнительные сведения о данных в каждом объекте см. далее в разделе Значения трассировки стека. |
@nextLink | строка | При наличии дополнительных страниц данных эта строка содержит универсальный код ресурса (URI), который можно использовать для запроса следующей страницы данных. Например, это значение возвращается в том случае, если параметр top запроса имеет значение 10 000, но для данного запроса имеется больше 10 000 строк с информацией об ошибках. |
TotalCount | Целое число | Общее количество строк в результирующих данных для запроса. |
Значения трассировки стека
Элементы в массиве Value содержат следующие значения.
Значение | Тип | Описание |
---|---|---|
уровень | Строка | Номер кадра, который этот элемент представляет в стеке вызовов. |
Изображение | строка | Имя образа исполняемого файла или библиотеки, содержащего функцию, которая вызывается в этом кадре стека. |
function | строка | Имя функции, вызываемой в этом кадре стека. Доступно, только если ваше приложение включает символы из исполняемого файла или библиотеки. |
offset | строка | Смещение в байтах текущей инструкции относительно начала функции. |
Пример ответа
В следующем примере демонстрируется пример тела ответа JSON на данный запрос.
{
"Value": [
{
"level": "0",
"image": "Contoso.ContosoApp",
"function": "Contoso.ContosoApp.MainPage.DoWork",
"offset": "0x25C"
}
{
"level": "1",
"image": "Contoso.ContosoApp",
"function": "Contoso.ContosoApp.MainPage.Initialize",
"offset": "0x26"
}
{
"level": "2",
"image": "Contoso.ContosoApp",
"function": "Contoso.ContosoApp.Start",
"offset": "0x66"
}
],
"@nextLink": null,
"TotalCount": 3
}
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по