punteros puntero memoria manejo funcion declaracion cadenas aritmetica c++ memory-leaks

c++ - memoria - punteros a cadenas



¿Cuál es la mejor manera de verificar fugas de memoria en c++? (5)

Estoy implementando una matriz dispersa con listas enlazadas y no es divertido verificar manualmente si hay filtraciones, ¿alguna idea?


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.


Puede leer un buen artículo sobre fugas de memoria en Wikipedia: http://en.wikipedia.org/wiki/Memory_leak

Esta página también tiene buenos enlaces a otros artículos e incluso programas que te ayudarán mucho.


Si usa Anjuta, puede usar el módulo valgrind.


En Windows:

Compuware BoundChecker (poco costoso pero muy agradable)

Visual LeakDetector (gratis, google)

En Linux / Unix:

Purificar


El perfilador valgrind para Unix ofrece una detección de fugas decente.

Sin embargo, esta 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, utilice las clases STL: std::list ya proporciona una implementación de lista vinculada sin fugas.