Vidages

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 utiliser des variables d’environnement pour configurer votre application pour collecter un vidage sur un incident.

  • 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.

Analyser les images mémoire

Analyse de la mémoire

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.

Visual Studio Memory Analysis peut être utilisé pour diagnostiquer une fuite de mémoire sur Windows.

Voir aussi

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.