Je cherchais dans Valgrind pour améliorer mon codage / débogage C quand j'ai découvert que c'était uniquement pour Linux - Je n'ai pas d'autre besoin ou intérêt à déplacer mon système d'exploitation vers Linux alors je me demandais s'il y avait un programme aussi bon pour Windows.
Réponses
Trop de publicités?Comme jakobengblom2 souligné, valgrind est un costume d'outils. Selon que l'on vous parle d'il y a différentes fenêtres comptoir des pièces. Je vais seulement mentionner les os ou les outils gratuits ici.
1. MemCheck:
Le Dr Mémoire. C'est un outil relativement nouveau, fonctionne très bien sur Windows 7. Ma fonction préférée est que les groupes de la même fuites " allocation des piles dans le rapport.
http://code.google.com/p/drmemory/
J'ai également utilisé UMDH( http://support.microsoft.com/kb/268343 ) et il a trouvé calme, utile et facile à l'installation. Il fonctionne à partir de Win 2000 pour Win7.
AppVerifier est un must swissknife pour windows natif développeurs de code, sa "mémoire" vérificateur d'emploi similaire http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx
2. Callgrind:
Mon préféré est verysleepy ( http://www.codersnotes.com/sleepy ) Il est tout petit mais très utile et facile à utiliser.
Si vous avez besoin de plus de fonctionnalités, AMD CodeAnalyst™ Analyseur de Performances est gratuit: http://developer.amd.com/documentation/videos/pages/introductiontoamdcodeanalystperformanceanalyzer.aspx
Windows outils d'Analyse des Performances est gratuit de Microsoft, pas très facile à utiliser, mais peut faire le travail si vous êtes prêt à passer le temps. http://blogs.microsoft.co.il/blogs/sasha/archive/2008/03/15/xperf-windows-performance-toolkit.aspx Télécharger: http://msdn.microsoft.com/en-us/performance/cc752957
3. Massif:
Similaires(pas tout à fait exact) des outils libres sous windows sont les suivants:
VMMap de sysinternals : http://technet.microsoft.com/en-us/sysinternals/dd535533
!tas de commande dans windbg : http://hacksoflife.blogspot.com/2009/06/heap-debugging-memoryresource-leak-with.html
4. Cachegrind:
Mentionnés ci-dessus Windows Outils de Performance a certains niveau de cache L2 manquer de profilage des capacités, mais pas tout à fait aussi bon et facile à utiliser comme Cachegrind.
5. DRD:
N'ai pas trouvé quelque chose de gratuit et puissant pour Windows, le seul outil gratuit pour windows que je peux trouver et fermer un peu est le "lock" pion dans AppVerifier: http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx
Pourquoi ne pas utiliser Valgrind + Wine pour déboguer votre application Windows? Voir http://wiki.winehq.org/Wine_and_Valgrind
(Chromium l'utilise pour vérifier la version de Windows pour les erreurs de mémoire, voir build.chromium.org et regarder les cascades expérimentales ou de la mémoire, et rechercher du vin.)
Il y a aussi Dr. Memory, voir dynamorio.org/drmemory.html
Pour Visual C ++, essayez Visual Leak Detector . Quand je l'ai utilisé, il a détecté une fuite de mémoire d'un appel new
et renvoyé la ligne réelle dans le code source de la fuite. La dernière version peut être trouvée à http://vld.codeplex.com/ .
L'environnement de développement pour Windows que vous utilisez peut contenir ses propres outils. Visual Studio, par exemple, vous permet de détecter et d'isoler les fuites de mémoire dans vos programmes