Поделиться через


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

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

Response

Текст ответа

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

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

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

Значение Тип Описание
level строка Номер кадра, который этот элемент представляет в стеке вызовов.
Изображение строка Имя исполняемого файла или образа библиотеки, содержащего функцию, которая вызывается в этом кадре стека.
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
}