Objectif de ce billet
Ce billet vise à présenter de façon sommaire la librairie SOS.dll et son utilité dans l’investigation de problèmes de mémoire dans une application .NET.
Présentation
L’utilisation du framework .NET, dans toutes ses versions, est désormais largement répandue. Avec ses belles promesses, comme la gestion de la mémoire automatique, il a conquis de nombreux adeptes réfractaires à cette tâche dans un langage sans Garbage Collector tel que le C++.
Malheureusement, nous avons maintenant des programmes qui consomment de plus en plus de mémoire, les développeurs ne faisant pas autant attention à leur conception de classes, et l’héritage excessif peut conduire à une consommation mémoire quelque peu gloutonne. Et soudain, alors que tout fonctionnait à merveille, c’est le drame : la terrible System.OutOfMemoryException! Ou encore, vous observez une utilisation mémoire qui vous semble extrême par rapport à votre domaine métier et les données que l’application gère.
Et nombre de développeurs sont plutôt désemparés face à de tels problèmes, et se lancent dans l’utilisation d’outils professionnels souvent coûteux, et lourds d’utilisation afin de tenter d’y voir clair. Et, comble de malheur, plus le logiciel fautif à analyser est complexe et consommateur de mémoire, plus l’utilisation de ces outils est lourde!
Heureusement, il y a un petit outil peu connu, d’une très grande légèreté et d’une accessibilité totale, étant directement intégré au Framework .NET, toutes versions confondues : il s’agit de SOS.dll.
Derniers commentaires