Une image mémoire est un fichier qui contient un instantané du processus au moment de la création de l’image mémoire et peut être utile pour examiner l’état de votre application. Les images mémoire peuvent être utilisées pour déboguer votre application .NET lorsqu’il est difficile d’y attacher un débogueur, tel que des environnements de production ou CI. L’utilisation d’images mémoire vous permet de capturer l’état du processus problématique et de l’examiner sans avoir à arrêter l’application.
Collecter des images mémoire
Les images mémoire peuvent être collectées de différentes façons selon la plateforme sur laquelle votre application s’exécute.
Notes
Les images mémoire peuvent contenir des informations sensibles, car elles peuvent contenir la mémoire complète du processus en cours d’exécution. Gérez-les avec toutes les restrictions de sécurité et conseils à l’esprit.
Conseil
Pour obtenir des questions fréquentes sur la collecte d’images mémoire, l’analyse et d’autres avertissements, consultez Images mémoire : FAQ.
Vous pouvez collecter un vidage lorsque l’application n’a pas encore planté. Par exemple, si vous souhaitez examiner l’état d’une application qui semble se trouver dans un interblocage, la configuration des variables d’environnement pour collecter les vidages sur incident ne sera pas utile, car l’application est toujours en cours d’exécution.
dotnet-dump est un outil simple en ligne de commande multiplateforme permettant de collecter une image mémoire. Plusieurs autres outils de débogueur tels que Visual Studio ou windbg ont également des fonctionnalités de collecte d’images mémoire.
Si vous exécutez votre application en production ou que vous l’exécutez de manière distribuée (plusieurs services, réplicas), dotnet-monitor prend en charge de nombreux scénarios courants et enquêtes de diagnostic ad hoc, notamment la collecte d’images mémoire et la sortie. Il permet aux images mémoire d’être collectées à distance ou avec des conditions de déclenchement.
Vous pouvez effectuer une analyse de la mémoire sur votre application si la mémoire de votre application continue de croître, mais vous ne savez pas pourquoi c’est le cas. Le didacticiel de fuite de mémoire de débogage montre comment déboguer une fuite de mémoire à l’aide des outils CLI dotnet avec les commandes dotnet-sos dumpheap et gcroot.
Apprenez-en plus sur la façon dont vous pouvez tirer parti des vidages pour aider à diagnostiquer les problèmes dans votre application .NET.
Le didacticiel sur les vidages Linux de débogage vous guide tout au long de la procédure de débogage d’un vidage collecté dans Linux.
Le didacticiel sur le débogage de l’interblocage vous guide tout au long du débogage d’un interblocage dans votre application .net à l’aide d’images mémoire.
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Utilisez Web App Down, Crash Monitoring et Ask Genie pour résoudre les problèmes. Utilisez ces outils pour surveiller la disponibilité des applications et des plateformes, identifier les exceptions non gérées, capturer les vidages de mémoire et la pile des appels, et rechercher les domaines d’investigation et de diagnostic.