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 semblent être ce que la plupart des outils tentent de trouver, mais plutôt de créer un profil d'utilisation de la mémoire pour l'application. La sortie idéale serait soit une grande liste de noms de fonctions plus le nombre maximum d'octets alloués dans le temps ou, mieux encore, une représentation graphique du tas dans le temps. L'axe horizontal est le temps, l'espace de tas de l'axe vertical. Chaque fonction obtiendrait sa propre couleur et tracerait des lignes en fonction des octets de tas alloués. Des points bonus pour l'identification des types d'objets alloués. L'idée est de trouver des goulots d'étranglement de la mémoire/de visualiser quelles fonctions/threads consomment le plus de mémoire et devraient être ciblés pour une optimisation plus poussée.suivi des allocations de mémoire C++
J'ai brièvement regardé Purify, BoundsChecker et AQTime mais ils ne semblent pas être ce que je cherche. Valgrind semble approprié, cependant, je suis sur Windows. Memtrack semble prometteur, mais nécessite des modifications importantes du code source.
Mes compétences google ont dû m'échouer, car il ne semble pas être une demande si rare? Toutes les informations nécessaires pour créer un outil comme celui-ci devraient être facilement disponibles à partir des symboles de débogage du programme et des appels d'API d'exécution - non?
Oui, probablement _CrtMemDumpAllObjectsSince est tout ce qu'il recherche. – stephan