Quelqu'un peut-il connaître un détecteur de profileur et de fuites qui fonctionnera avec le code VS2010? De préférence une qui fonctionne sur Win7. P>
J'ai cherché ici et dans Google. J'ai trouvé un détecteur de fuite qui fonctionne (validateur mémoire) mais je ne suis pas trop impressionné. Pour une chose, il montre une bouquet de fuites de menu et de choses que je suis assez confiante ne sont pas réelles. J'ai aussi essayé GlowCode mais c'est juste un profileur et refuse d'installer sur Win7. P>
J'utilisais AQTime. Il y avait tout ce dont j'avais besoin, la détection de la future de la mémoire / des ressources, le profilage de diverses choses, une analyse statique, etc. Malheureusement, il donne des résultats faux maintenant. P>
Mon problème immédiat principal est que VS2010 dit qu'il y a des fuites dans un programme qui n'en avait pas dans VS2005. Je suis presque certain que c'est de faux positifs, mais je ne peux pas sembler trouver un bon outil pour vérifier cela. Le validateur de la mémoire ne montre pas les mêmes et la déclaration de fuites de VS ne semble pas rationnelle. P>
6 Réponses :
Personnellement, j'aime DevPartner . Si vous travaillez dans une grande entreprise, vous pouvez peut-être les convaincre de payer pour la licence lourde. C'est cher, mais c'est très très solide. P>
J'ai utilisé plusieurs alternatives commerciales et, bien qu'ils puissent obtenir des résultats fantastiques, ils ne manquent pas souvent de travailler à cause de raisons inconnues: P>
Au cours des dernières années, je suis retourné à la manière assez brute d'échantillonner l'application. Ceci n'est pas aussi parfait que d'utiliser une instrumentation, mais c'est beaucoup plus rapide, peut être exécuté sur n'importe quelle application et fonctionne toujours. Mon préféré est "très somnolent" ( http://www.codersnotes.com/sleepy ) mais aussi Luke Stackwalker ( http://lukestackwalker.sourceforge.net/ ) est assez bon. Étant donné que les applications peuvent être exécutées immédiatement et sans ralentissement notable, la boucle "Change App, profil" est très courte et efficace. P>
Pour trouver des fuites de mémoire, il existe plusieurs outils dans les fenêtres que vous pouvez utiliser. Encore une fois, ils sont loin d'être parfaits et ne peuvent souvent que rechercher des applications à l'extérieur, sans simplement signaler des fuites à la fin de la demande. Recherchez les "outils de débogage de Microsoft" (UMDH, LEAKDIAG, GFLAGS). Personnellement, je trouve qu'il est beaucoup plus facile d'écrire mon propre gestionnaire de mémoire et de le laisser signaler les fuites à la fin de l'application. Ce n'est pas si difficile à écrire. Ce que vous avez à faire est: p>
Pour trouver des fuites de mémoire, vous pouvez essayer Détection visuelle des fuites outil. P>
Il y a aussi de simples et faciles à utiliser le code de détection de fuites ici aussi: http: // www.codeproject.com/kb/cpp/memleakdetect.aspx p>
Vous ne savez pas comment créer un lien vers cela, que j'ai précédemment affiché en réponse à une question similaire: p>
Vous pouvez utiliser umdh.exe pour capturer et comparer des instantanés du processus avant et après que la fuite se produise. Cela fonctionne mieux avec les fichiers binaires de débogage, mais viable avec la libération des chemins de symboles fournis sont correctement définis - il vous donnera les appels de mémoire alloués entre le 1er et le 2e instantané. P>
http://support.microsoft.com/kb/268343 P>
Cette approche a l'avantage d'être libre. P>
Noah, comme l'oriend mentionné, Devpartner Studio de Micro Focus a à la fois une détection de fuites et d'autres caractéristiques de profilage d'exécution. Contrairement aux hauts prix DPS DPS dans Compuware, vous pouvez désormais licencier uniquement les profileurs d'exécution et non toute la suite si c'est ce dont vous avez besoin. Fiche vergogne: je travaille sur l'équipe Devpartner. Nos navires de support d'application de 64 bits dans la version 10.5 Le 4 février 2011. Recherchez les nouvelles de la version et eval téléchargements sur http: // www.devpartner.com . P>
Peut-être que cela vaut la peine de procéder à une évaluation du studio parallèle d'Intel qui est disponible pour 32 et pour les plates-formes 64 bits.