Obtenir la trace de pile concernant une erreur dans votre application

Utilisez cette méthode dans l’API d’analytique du Microsoft Store pour obtenir la trace de pile pour une erreur dans votre application. Cette méthode peut uniquement télécharger la trace de pile pour une erreur d’application qui s’est produite au cours des 30 derniers jours. Les traces de pile sont également disponibles dans la section Échecs du rapport d’intégrité dans l’Espace partenaires.

Avant de pouvoir utiliser cette méthode, vous devez d’abord utiliser les détails d’obtention d’une erreur dans votre méthode d’application pour récupérer l’ID du fichier CAB associé à l’erreur pour laquelle vous souhaitez récupérer la trace de la pile.

Prérequis

Pour utiliser cette méthode, vous devez d’abord effectuer les opérations suivantes :

  • Si ce n’est pas déjà fait, remplissez toutes les conditions préalables relatives à l’API d’analyse de la Boutique Microsoft.
  • Obtenir un jeton d’accès Azure AD à utiliser dans l’en-tête de requête pour cette méthode. Une fois que vous avez récupéré le jeton d’accès, vous avez 60 minutes pour l’utiliser avant qu’il n’expire. Une fois le jeton expiré, vous pouvez en obtenir un nouveau.
  • Obtenez l’ID du fichier CAB associé à l’erreur pour laquelle vous souhaitez récupérer la trace de la pile. Pour obtenir cet ID, utilisez les détails d’obtention d’une erreur dans votre méthode d’application pour récupérer les détails d’une erreur spécifique dans votre application et utilisez la valeur cabId dans le corps de la réponse de cette méthode.

Requête

Syntaxe de la requête

Méthode URI de demande
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace

En-tête de requête

En-tête Type Description
Autorisation string Obligatoire. Jeton d’accès Azure AD au format porteur<jeton>.

Paramètres de la demande

Paramètre Type Description Obligatoire
applicationId string ID Store de l’application pour laquelle vous souhaitez obtenir la trace de la pile. L’ID store est disponible sur la page Identité de l’application dans l’Espace partenaires. Un exemple d’ID store est 9WZDNCRFJ3Q8. Oui
cabId string ID unique du fichier CAB associé à l’erreur pour laquelle vous souhaitez récupérer la trace de la pile. Pour obtenir cet ID, utilisez les détails d’obtention d’une erreur dans votre méthode d’application pour récupérer les détails d’une erreur spécifique dans votre application et utilisez la valeur cabId dans le corps de la réponse de cette méthode. Oui

 

Exemple de requête

L’exemple suivant montre comment obtenir une trace de pile à l’aide de cette méthode. Remplacez la valeur applicationId par l’ID Store de votre application.

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

Response

Response body

Valeur Type Description
active tableau Tableau d’objets qui contiennent chacun une trame de données de trace de pile. Pour plus d’informations sur les données de chaque objet, consultez la section valeurs de trace de pile ci-dessous.
@nextLink string S’il existe des pages de données supplémentaires, cette chaîne contient un URI que vous pouvez utiliser pour demander la page suivante des données. Par exemple, cette valeur est retournée si le paramètre supérieur de la requête est défini sur 10, mais qu’il existe plus de 10 lignes d’erreurs pour la requête.
TotalCount entier Nombre total de lignes dans le résultat des données de la requête.

Valeurs de trace de pile

Les éléments du tableau Valeur contiennent les valeurs suivantes.

Valeur Type Description
level string Numéro d’image que cet élément représente dans la pile des appels.
image string Nom de l’image exécutable ou bibliothèque qui contient la fonction appelée dans ce frame de pile.
function string Nom de la fonction appelée dans ce cadre de pile. Cette option est disponible uniquement si votre application inclut des symboles pour l’exécutable ou la bibliothèque.
offset string Décalage d’octet de l’instruction actuelle par rapport au début de la fonction.

Remarque

Cette méthode peut uniquement télécharger la trace de pile pour une erreur d’application qui s’est produite au cours des 30 derniers jours.

Exemple de requête et de réponse

Les extraits de code suivants illustrent un exemple de corps de requête et de réponse JSON pour cette requête.

Exemple de requête

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

Exemple de réponse

{
    "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
}