¿Existe un buen sustituto de Valgrind para Windows?
Estaba investigando Valgrind para ayudarme a mejorar mi codificación/depuración de C cuando descubrí que es solo para Linux; no tengo otra necesidad o interés en trasladar mi sistema operativo a Linux, así que me preguntaba si existe un programa igualmente bueno para Windows.
Como señaló jakobengblom2, valgrind tiene un conjunto de herramientas. Dependiendo de cuál esté hablando, existen diferentes contrapartes de ventanas. Aquí solo mencionaré OSS o herramientas gratuitas.
1. MemCheck:
Dr. Memoria. Es una herramienta relativamente nueva, funciona muy bien en Windows 7. Mi característica favorita es que agrupa las mismas pilas de asignación de filtraciones en el informe.
http://code.google.com/p/drmemory/
También utilicé UMDH ( http://support.microsoft.com/kb/268343 ) y lo encontré muy útil y fácil de configurar. Funciona desde Win2000 hasta Win7.
AppVerifier es una herramienta imprescindible para los desarrolladores de código nativo de Windows, su comprobador de "memoria" hace un trabajo similar http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx
2. Llamada:
Mi favorito es verysleepy ( http://www.codersnotes.com/sleepy ). Es pequeño pero muy útil y fácil de usar.
Si necesita más funciones, AMD CodeAnalyst™ Performance Analyzer es gratuito: http://developer.amd.com/documentation/videos/pages/introductiontoamdcodeanalystperformanceanalyzer.aspx
Las herramientas de análisis de rendimiento de Windows son gratuitas de Microsoft, no son muy fáciles de usar, pero pueden hacer el trabajo si estás dispuesto a dedicar tiempo. http://blogs.microsoft.co.il/blogs/sasha/archive/2008/03/15/xperf-windows-performance-toolkit.aspx Descargar: http://msdn.microsoft.com/en-us/performance /cc752957
3. Macizo:
Herramientas gratuitas similares (no del todo exactas) en Windows son:
VMMap de sysinternals: http://technet.microsoft.com/en-us/sysinternals/dd535533
Comando !heap en windbg: http://hacksoflife.blogspot.com/2009/06/heap-debugging-memoryresource-leak-with.html
4. Molienda de caché:
Las herramientas de rendimiento de Windows mencionadas anteriormente tienen cierto nivel de capacidad de creación de perfiles de errores de caché L2, pero no son tan buenas ni tan fáciles de usar como Cachegrind.
5.DRD:
Todavía no he encontrado nada gratuito y tan potente en Windows, la única herramienta gratuita para Windows que puedo encontrar que se acerca un poco es el verificador de "bloqueo" en AppVerifier: http://msdn.microsoft.com/en-us/library /dd371695%28v=vs.85%29.aspx
¿Por qué no utilizar Valgrind + Wine para depurar su aplicación de Windows? Ver http://wiki.winehq.org/Wine_and_Valgrind
(Chromium usa esto para verificar la versión de Windows en busca de errores de memoria; consulte build.chromium.org, observe las cascadas experimentales o de memoria y busque Wine).
También está el Dr. Memory, consulte dynamorio.org/drmemory.html
Algunas herramientas comerciales más buenas:
- Purificar
- Asegurar++