Estaba investigando Valgrind para ayudar a mejorar mi codificación/depuración de C cuando descubrí que es solo para Linux. No tengo otra necesidad o interés en mover mi sistema operativo a Linux, así que me preguntaba si hay un programa igualmente bueno para Windows.
¿Existe un buen sustituto de Valgrind para Windows?
Pato
¿Por qué no usar 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 y observe las cataratas experimentales o de memoria, y busque vino).
También está Dr. Memory, consulte dynamorio.org/drmemory.html
-
Porque entonces no estaría depurando una aplicación de Windows, estaría depurando una aplicación de Linux.
– John Dibling
4 de febrero de 2010 a las 21:15
-
No es necesario volver a compilar en Wine. Simplemente transfiera su .exe y .pdb a una caja de Linux. Y no estarías depurando una aplicación de Linux; está depurando su aplicación de Windows exacta.
– Dan Kegel
14 de febrero de 2010 a las 3:42
-
Purificar: venerable pero aún útil, como lo demuestra cuántos cambios de propiedad corporativa ha sobrevivido.
—Norman Ramsey
5 de enero de 2009 a las 17:48
-
Insure ++ tarda una eternidad en instrumentar su código y una eternidad en ejecutar su código en tiempo de ejecución.
– C. Johnson
9 de agosto de 2010 a las 15:12
tgs_stdio
Para Visual C++, intente Detector visual de fugas. Cuando lo usé, detectó una pérdida de memoria de un new
call y devolvió la línea real en el código fuente de la fuga. La última versión se puede encontrar en http://vld.codeplex.com/.
-
No parece funcionar para mí. Incluso traté de crear un proyecto simple que básicamente no hizo nada más que asignar algo de memoria y no liberarla. VLD no lo detectó. 😐
– Synetech
25 de agosto de 2010 a las 0:18
-
@Synetech inc. Tuve el mismo problema en VS2010… Usar la versión más reciente de VLD resolvió mi problema
– relaxxxx
7 abr 2011 a las 16:46
dmityugov
El entorno de desarrollo para Windows que está utilizando puede contener sus propias herramientas. Visual Studio, por ejemplo, le permite detectar y aislar fugas de memoria en tus programas
-
No parece funcionar para mí. Incluso traté de crear un proyecto simple que básicamente no hizo nada más que asignar algo de memoria y no liberarla. VLD no lo detectó. 😐
– Synetech
25 de agosto de 2010 a las 0:18
-
@Synetech inc. Tuve el mismo problema en VS2010… Usar la versión más reciente de VLD resolvió mi problema
– relaxxxx
7 abr 2011 a las 16:46
satbir
Me gustaría enumerar alguna herramienta, espero que sea útil.
Lee esto artículo para más detalles
- Purificar
- Comprobador de límites
- Coverity (básicamente es un analizador de código, pero detectará fugas de memoria en estática)
- Código de resplandor
- dmalloc
- ccmalloc
- NJAMD
- YAMD
- Valgrind
- mpatrol
- Seguro++
¿Qué tipo de depuración está buscando hacer? Valgrind es un conjunto de herramientas bastante rico, y las respuestas a continuación apuntan en todo tipo de direcciones. Con énfasis en la depuración de pérdidas/asignaciones de memoria.
– jakobengblom2
28 de agosto de 2009 a las 8:43
Tal vez pueda probar el código en una máquina virtual Linux dentro de su Windows, justo cuando necesite verificarlo. puede compartir la carpeta de desarrollo entre la máquina virtual y no virtual. es decir, si el código es lo suficientemente portátil.
– Liran Orevi
1 de octubre de 2009 a las 9:27