Je suis à la recherche d'un moyen de suivre les allocations de mémoire dans un programme C++. Je suis pas intéressé par les fuites de mémoire, qui semble être ce que la plupart des outils sont en essayant de trouver, mais plutôt la création d'une mémoire de profil d'utilisation de l'application. Sortie idéale serait une grande liste de noms de fonction plus nombre maximal d'octets alloués au fil du temps ou, mieux encore, une représentation graphique de la masse au cours du temps. L'axe Horizontal représente le temps, l'axe vertical de la mémoire. Chaque fonction serait d'obtenir sa propre couleur et de tracer des lignes selon alloué tas d'octets. Les points de Bonus pour l'identification attribué types d'objets.
L'idée est de trouver des goulets d'étranglement de mémoire/de visualiser quelles sont les fonctions/threads utilisent le plus de mémoire et doit être ciblé pour la poursuite de l'optimisation.
J'ai brièvement regardé Purifier, BoundsChecker et AQTime mais ils ne semblent pas être ce que je suis après. Valgrind semble approprié, cependant, je suis sur Windows. Memtrack semble prometteur, mais nécessite d'importantes modifications au code source.
Mon google compétences doit avoir échoué à moi, car il ne semble pas être d'une rare demande? Toutes les informations nécessaires pour créer un outil comme ça devraient être facilement accessibles à partir du programme des symboles de débogage, plus d'exécution des appels d'API - pas?