Prise en charge de Windows
Important
Visual Studio App Center est prévu pour la mise hors service le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à ce qu’il soit entièrement mis hors service, il existe plusieurs alternatives recommandées que vous pouvez envisager de migrer vers.
En savoir plus sur les chronologies de support et les alternatives.
App Center prend actuellement en charge les diagnostics pour les applications UWP, WPF et WinForms. Cette section explique la nouvelle expérience pour les applications UWP dans le cadre de la version 2.5.0 du SDK. Pour plus d’informations sur les applications WPF et WinForms, consultez les fonctionnalités de diagnostic et le Kit de développement logiciel (SDK) WPF/WinForms.
Plateforme Windows universelle
App Center prend en charge l’ensemble complet de fonctionnalités de diagnostic pour les applications UWP du Windows Store à l’aide du Kit de développement logiciel (SDK) 2.5.0 ou des versions ultérieures. Pour activer les diagnostics d’App Center pour votre application UWP, suivez la documentation du Kit de développement logiciel (SDK) UWP d’App Center pour intégrer le Kit de développement logiciel (SDK) App Center. Vous pouvez en savoir plus sur l’ensemble de fonctionnalités complet dans la documentation sur les fonctionnalités de diagnostic.
Nouvelle expérience de diagnostic
Avec la version 2.5.0 du SDK en octobre 2019, App Center a publié une nouvelle expérience de diagnostic. Cette section détaille les améliorations et l’expérience de transition avec la nouvelle version.
Quelles améliorations ont été apportées ?
La nouvelle expérience de diagnostic améliorée comprend les ajouts suivants :
- Expérience de symbolique complète qui vous permet de charger des symboles dans App Center. Pour plus d’informations, consultez la section symbolique ci-dessous.
- Prise en charge des exceptions gérées
- Nombre d’utilisateurs affectés par incident ou par groupe d’erreurs
- Possibilité d’ajouter des annotations par blocage ou groupe d’erreurs
- Possibilité de marquer les groupes d’erreurs et de blocage comme ouverts, fermés ou ignorés
- Possibilité de télécharger des rapports d’incident et d’erreurs
- Possibilité d’attacher, d’afficher et de télécharger une pièce jointe binaire et une pièce jointe texte dans vos rapports d’incident
- Détails du rapport d’incident et d’erreur par instance d’incident, notamment lorsque l’application a été lancée, lorsqu’elle s’est écrasée, ainsi que le pays/la région et la langue utilisés par l’appareil
Vous pouvez en savoir plus sur chaque fonctionnalité de la documentation des diagnostics App Center.
Quelle est l’expérience de transition ?
Après avoir été mis à jour vers le Kit de développement logiciel (SDK) UWP App Center version 2.5.0, les données d’incident et d’erreur s’affichent dans le portail Diagnostics App Center dans une interface utilisateur nouvelle et améliorée. Pour les données d’incident et d’erreur affichées dans la nouvelle interface utilisateur diagnostics, vous devez utiliser les API répertoriées dans la section Erreurs. En savoir plus sur la façon dont l’ancien plantage des API est mappé aux nouvelles API d’erreurs dans la documentation de transition d’API.
Symbolique
Les rapports d’incident UWP affichent la trace de pile pour le thread qui a provoqué l’incident. Lorsque l’application utilise .NET Native (généralement dans les builds de mise en production), la trace de pile peut contenir des adresses mémoire plutôt que des noms de classes, des méthodes, des noms de fichiers et des numéros de ligne nécessaires pour lire et comprendre les incidents.
Blocages nonmbolicés
Les blocages nonmbolicés s’affichent dans la section Diagnostics App Center afin de pouvoir afficher certains détails avant de charger des symboles. Les symboles manquants de ces incidents s’affichent sous l’onglet « sansmbolicated ». Si les symboles manquants sont chargés, le groupe d’incidents nonmbolicés est remplacé par un groupe d’incidents symbolique.
Chargement de symboles
Pour obtenir les adresses mémoire traduites, vous devez charger un .appxsym
fichier dans App Center, qui contient toutes les informations requises pour la symbolique.
Générer les symboles localement
Pour obtenir un fichier, vous devez créer un .appxsym
bundle d’applications comme décrit ici. Une fois que vous avez créé le bundle, vous trouverez le fichier de symboles sous la forme d’un .appxsym
fichier dans le dossier du bundle d’applications.
Symboles pour les applications intégrées à la build App Center
Les services de génération et de distribution App Center peuvent générer automatiquement un fichier de symboles valide et le charger dans le service Diagnostics. Si vous utilisez App Center pour générer et distribuer automatiquement votre application à vos utilisateurs finaux, vous n’avez pas besoin d’obtenir et de charger manuellement les fichiers de symboles dans App Center.
Symboles pour les applications publiées dans le Microsoft Store
Lorsque vous publiez votre application dans le magasin, la compilation .NET Native se produit côté serveur. Vous devez donc télécharger les symboles à partir de l’Espace partenaires.
- Recherchez votre application dans la liste et cliquez dessus.
- Développez le menu Gestion des produits à partir du volet gauche.
- Cliquez sur Gérer les packages.
- Cliquez sur Afficher les packages dans le coin supérieur droit de la soumission (version) pour laquelle vous souhaitez obtenir des symboles.
- Recherchez le package pour la version pour laquelle vous avez besoin de symboles, puis cliquez sur des liens pour toutes les architectures prises en charge pour télécharger tous les symboles (par exemple, le lien Télécharger le fichier de symboles Windows 10 (x64).
Remarque
Votre application doit déclarer une dépendance sur n’importe quelle version de .NET Native pour générer des symboles de débogage.
Cette déclaration doit être incluse dans la <Dependencies>
section de votre AppxManifest.xml
. Exemple :
<PackageDependency Name="Microsoft.NET.Native.Framework.2.2" MinVersion="2.2.29512.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
<PackageDependency Name="Microsoft.NET.Native.Runtime.2.2" MinVersion="2 2.28604.0" Publisher="CN=Microsoft Corporation, 0=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
Portail App Center
- Connectez-vous à App Center et sélectionnez votre application.
- Dans le menu de gauche, accédez à la section Diagnostics et sélectionnez Symboles.
- Dans le coin supérieur droit, cliquez sur Charger des symboles et chargez le fichier.
- Une fois les symboles indexés par App Center, les incidents seront symboliques pour vous.
App Center API
Le processus de chargement de symboles via l’API implique une série de trois appels d’API : un pour allouer de l’espace sur notre serveur principal, un pour charger le fichier et un pour mettre à jour l’état du chargement. Le corps du premier appel d’API doit être défini symbol_type
sur UWP
.
- Déclenchez une
POST
requête à l’API symbol_uploads. Cet appel alloue de l’espace sur notre serveur principal pour votre fichier et retourne une propriété et unesymbol_upload_id
upload_url
propriété.
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{JSON BODY}'
- À l’aide de la
upload_url
propriété retournée à partir de la première étape, effectuez unePUT
demande avec l’en-tête :"x-ms-blob-type: BlockBlob"
et fournissez l’emplacement de votre fichier sur le disque. Cet appel charge le fichier dans nos comptes de stockage back-end. En savoir plus sur les en-têtes de demande d’objet blob PUT .
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- Effectuez une
PATCH
demande à l’API symbol_uploads à l’aide de lasymbol_upload_id
propriété retournée à partir de la première étape. Dans le corps de la demande, spécifiez si vous souhaitez définir l’état du chargementcommitted
sur (terminé avec succès) le processus de chargement ouaborted
(non terminé).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{ "status": "committed" }'
Remarque
L’API de chargement de symboles ne fonctionne pas pour les fichiers dont la taille est supérieure à 256 Mo. Utilisez l’interface CLI App Center pour charger ces fichiers. Vous pouvez installer l’interface CLI App Center en suivant les instructions de notre référentiel CLI App Center.
App Center CLI
Vous pouvez également utiliser l’interface CLI pour charger des fichiers de symboles :
appcenter crashes upload-symbols --appxsym {symbol file}
Ignorer les symboles
Quand App Center n’a pas tous les fichiers de symboles pour symboliser entièrement les rapports d’incident, les incidents sont répertoriés sous l’onglet Nonmbolicated . Les symboles requis sont chargés à partir de cette page si vous y avez accès.
Si vous ne pouvez pas charger les symboles, vous pouvez les marquer comme ignorés en sélectionnant des lignes dans le tableau et en cliquant sur le bouton Ignorer les versions . Ce bouton indique à App Center de traiter les blocages et de les symboliquer aussi pleinement que possible avec les symboles du fichier. Une fois leur traitement terminé, ils apparaissent dans l’onglet Blocages partiellement symboliques. De nouveaux plantages qui dépendent également de ces mêmes ID de symboles marqués comme ignorés contournent l’onglet Nonmbolicé au fur et à mesure qu’ils entrent et transitent par le système.
WinRT, Silverlight et d’autres plateformes
App Center ne prend pas en charge d’autres plateformes Windows en plus de UWP, WPF et WinForms. Si vous disposez d’une application Windows avec des plantages C++ natifs, vous pouvez les charger dans App Center via l’API de chargement plantage.