Partager via


Obtenir la trace de pile d'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 ne peut télécharger que la trace de l'exécution 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 Défaillances du rapport de santé dans l’espace partenaires.

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

Conditions préalables

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

  • Si vous ne l’avez pas déjà fait, remplissez tous les prérequis pour l’API d’analytique du Microsoft Store.
  • Obtenez 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 pile. Pour obtenir cet ID, utilisez la méthode pour obtenir les détails d'une erreur spécifique dans votre application, puis 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 la requête
OBTENIR https://manage.devcenter.microsoft.com/v1.0/my/analytics/stacktrace

En-tête de requête

En-tête de page Catégorie Descriptif
Autorisation ficelle Obligatoire. Le jeton d’accès Azure AD sous la forme Bearer<token>.

Paramètres de la demande

Paramètre Catégorie Descriptif Obligatoire
applicationId ficelle Identifiant de Store de l'application pour laquelle vous souhaitez obtenir la trace de la pile. L'ID du magasin est disponible sur la page d'identité de l'application dans l'Espace partenaires . Un exemple d’ID store est 9WZDNCRFJ3Q8. Oui
cabId (identifiant de cabine) ficelle 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 la méthode pour obtenir les détails d'une erreur spécifique dans votre application, puis 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>

Réponse

Corps de réponse

Valeur Catégorie Descriptif
Valeur 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 des valeurs de trace de pile ci-dessous.
@nextLink ficelle 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 premier de la requête est défini sur 10, mais qu’il existe plus de 10 lignes d’erreurs pour la requête.
NombreTotal 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 Catégorie Descriptif
niveau ficelle Numéro de frame que cet élément représente dans la pile d'appels.
image ficelle Nom de l’image exécutable ou de l'image de bibliothèque qui contient la fonction appelée dans cette trame de pile.
fonction ficelle Le nom de la fonction appelée dans cette trame de pile. Cette option est disponible uniquement si votre application inclut des symboles pour l’exécutable ou la bibliothèque.
décalage ficelle Décalage en octets de l’instruction actuelle par rapport au début de la fonction.

Remarque

Cette méthode ne peut télécharger que la trace de l'exécution pour une erreur d'application qui s'est produite au cours des 30 derniers jours.

Exemple de demande 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
}