Estoy implementando una matriz dispersa con listas enlazadas y no es divertido verificar manualmente si hay fugas, ¿alguna idea?¿Cuál es la mejor manera de verificar si hay fugas de memoria en C++?
Respuesta
El perfilador valgrind
para Unix ofrece una detección de fugas decente.
Sin embargo, esto es solo una parte de un enfoque exitoso. La otra parte es evitar (es decir, minimizar) el manejo explícito de la memoria. Los indicadores y asignadores inteligentes pueden ayudar mucho a prevenir fugas de memoria. Además, do utiliza las clases de STL: una implementación de lista enlazada sin fugas ya está provista por std::list
.
Si usa Anjuta, puede usar el módulo valgrind.
En Windows:
Compuware BoundChecker (poco costoso pero muy agradable)
Visual LeakDetector (libre, google)
En Linux/Unix:
Purificar
Purify también está disponible para Windows. – Ferruccio
La versión original de Purify en Unix fue brillante. Pero la versión de Windows producida después de que Rational la compró es terrible. Flakey como el infierno. Evitar a toda costa.
Usted puede leer un buen artículo sobre pérdidas de memoria en la Wikipedia: http://en.wikipedia.org/wiki/Memory_leak
Esta página también tiene la buena enlaces a otros artículos e incluso Programms que le ayudarán mucho.
- 1. ¿Mejor manera de verificar si hay elementos en la lista?
- 2. ¿Cuál es la mejor manera de verificar si un archivo existe en C++? (plataforma cruzada)
- 3. ¿Cuál es la mejor manera de verificar si la vista es visible en la ventana?
- 4. C# en VS2005: ¿cuál es la mejor manera de verificar si una cadena está vacía?
- 5. ¿La mejor manera de verificar si una variable es nula?
- 6. ¿cuál es la mejor manera de verificar una matriz vacía?
- 7. ¿Cuál es la manera más rápida de verificar si hay dígitos duplicados de un número?
- 8. ¿Detecta fugas de memoria en programas C?
- 9. ¿Cuál es la mejor manera de verificar si una cadena contiene una URL en Java/Android?
- 10. ¿Cuál es la mejor manera de almacenar cadenas UTF-8 en memoria en C/C++?
- 11. ¿Cuál es la mejor manera de verificar si existe una URL en PHP?
- 12. ¿Cuál es la mejor manera de verificar si una cadena existe en otra?
- 13. ¿Cuál es una buena manera de verificar si un doble es un número entero en C#?
- 14. ¿Cuál es una mejor manera de verificar si una cadena es un número entero en iPhone?
- 15. ¿cuál es la mejor manera de verificar si existe un objeto S3?
- 16. ¿Cuál es la mejor manera de escribir comentarios en C?
- 17. ¿Cuál es la mejor manera de verificar si el usuario puede cargar archivos?
- 18. Entonces, ¿cuál es la mejor manera de verificar si existe una fila? EXISTS, COUNT o num_rows?
- 19. ¿Cuál es la mejor manera de verificar si hay un objeto nulo antes de llamar a un método?
- 20. ¿Cuál es la mejor forma de verificar si hay un entero positivo (PHP)?
- 21. ¿Hay fugas de memoria en Python?
- 22. ¿Cuál es la mejor manera de verificar si la opción actualmente seleccionada en una lista desplegable es la última?
- 23. memoria Valgrind C++ fugas
- 24. herramienta para verificar fugas de memoria en android
- 25. Fugas de memoria en C# WPF
- 26. Cuál es la mejor manera de verificar el conjunto de resultados IQueryable es nulo
- 27. C# Fugas de memoria basadas en eventos
- 28. ¿La mejor manera de verificar si existe un objeto PowerShell?
- 29. ¿Cuál es la mejor manera de verificar dos listas de <T> listas para la igualdad en C#
- 30. ¿Cuál es la mejor manera de determinar si una variable de sesión es nula o está vacía en C#?
<3 valgrind. Pero sí, una herramienta, no una solución completa. – Bernard