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

Используйте этот метод в API аналитики для Microsoft Store, чтобы получить трассировку стека при возникновении ошибки в приложении. Этот метод позволяет скачать трассировку стека только для ошибок приложения, возникших за последние 30 дней. Трассировки стека также доступны в разделе Сбоиотчета о работоспособности в Центре партнеров.

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

Предварительные требования

Для использования этого метода сначала необходимо сделать следующее:

  • Если вы еще не сделали этого, выполните все необходимые условия для API аналитики для Microsoft Store.
  • Получите маркер доступа Azure AD, который будет использоваться в заголовке запроса этого метода. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый маркер.
  • Получите идентификатор CAB-файла, связанного с ошибкой, для которой требуется получить трассировку стека. Для получения этого идентификатора используйте метод получения подробных сведений об ошибке в приложении, чтобы получить подробные сведения об определенной ошибке в приложении, и значение cabId в тексте ответа этого метода.

Запрос

Синтаксис запроса

Метод Универсальный код ресурса (URI) запроса
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace

Заголовок запроса

Заголовок Тип Описание
Авторизация строка Обязательный. Маркер доступа Azure AD в видемаркера>носителя<.

Параметры запроса

Параметр Тип Описание Обязательно
applicationId строка Код продукта в Магазине для приложения, по которому требуется получить трассировку стека. Идентификатор Магазина доступен на странице Удостоверение приложения в Центре партнеров. Пример кода продукта в Магазине: 9WZDNCRFJ3Q8 Да
cabId строка Уникальный идентификатор CAB-файла, связанного с ошибкой, для которой требуется получить трассировку стека. Для получения этого идентификатора используйте метод получения подробных сведений об ошибке в приложении, чтобы получить подробные сведения об определенной ошибке в приложении, и значение cabId в тексте ответа этого метода. Да

 

Пример запроса

В следующем примере показано, как получить трассировку стека с помощью этого метода. Замените значение applicationId кодом продукта в Магазине для вашего приложения.

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace?applicationId=9NBLGGGZ5QDR&cabId=1336373323853 HTTP/1.1
Authorization: Bearer <your access token>

Ответ

Текст ответа

Значение Тип Описание
Значение array Массив объектов, каждый из которых содержит один кадр данных трассировки стека. Дополнительные сведения о данных в каждом объекте см. далее в разделе Значения трассировки стека.
@nextLink строка При наличии дополнительных страниц данных эта строка содержит универсальный код ресурса (URI), который можно использовать для запроса следующей страницы данных. Например, это значение возвращается в том случае, если параметр top запроса имеет значение 10 000, но для данного запроса имеется больше 10 000 строк с информацией об ошибках.
TotalCount Целое число Общее количество строк в результирующих данных для запроса.

Значения трассировки стека

Элементы в массиве Value содержат следующие значения.

Значение Тип Описание
уровень Строка Номер кадра, который этот элемент представляет в стеке вызовов.
Изображение строка Имя образа исполняемого файла или библиотеки, содержащего функцию, которая вызывается в этом кадре стека.
function строка Имя функции, вызываемой в этом кадре стека. Доступно, только если ваше приложение включает символы из исполняемого файла или библиотеки.
offset строка Смещение в байтах текущей инструкции относительно начала функции.

Примечание

Этот метод позволяет скачать трассировку стека только для ошибок приложения, возникших за последние 30 дней.

Пример запроса и ответа

В следующих фрагментах кода демонстрируется пример запроса и текст ответа JSON для этих запросов.

Пример запроса

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace?applicationId=9NBLGGGZ5QDR&cabId=1234567890123456789
HTTP/1.1
Authorization: Bearer <your access token>

Пример ответа

{
    "Value": [
        {
            "level": "0",
            "image": "Microsoft.Contoso",
            "function": "HANG_QUIESCE",
            "offset": "0x0000000000000000",
            "isBlamedFrame": true
        },
        {
            "level": "1",
            "image": "unknown.dll",
            "function": "[.ecxr]",
            "offset": "0x0000000000000000",
            "isBlamedFrame": false
        },
        {
            "level": "2",
            "image": "ntdll.dll",
            "function": "RtlpHpSegFree",
            "offset": "0x0000000000000000",
            "isBlamedFrame": false
        },
        {
            "level": "3",
            "image": "ntdll.dll",
            "function": "RtlpHpFreeHeap",
            "offset": "0x0000000000000000",
            "isBlamedFrame": false
        },
        {
            "level": "4",
            "image": "ntdll.dll",
            "function": "RtlpFreeHeapInternal",
            "offset": "0x0000000000000000",
            "isBlamedFrame": false
        }
    ],
    "TotalCount": 5
}