210 votes

Existe-t-il un bon substitut Valgrind pour Windows?

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.

117voto

Lailin Chen Points 1981

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

30voto

Dan Kegel Points 343

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

29voto

orip Points 28225

Quelques autres bons outils commerciaux:

15voto

tgs_stdio Points 151

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/ .

14voto

dmityugov Points 2786

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X