Получение трассировки стека при возникновении ошибки в классическом приложении

Используйте этот метод в 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
}