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


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

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

Response

Текст ответа

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

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

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

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