Buenas nuevamente! Encontré un manual de Valgrind bastante
interesante, espero que les sea util.
http://www.network-theory.co.uk/docs/valgrind/index.html
Saludos!
On 11 nov, 16:44, Facundo Viale <
facundo.m.vi...@gmail.com> wrote:
> Buenas! Esta semana estuve con algo de tiempo y me dedique a investigar un
> par de cosas, y puse en practica una Tool que me habían comentado desde hace
> mucho tiempo pero nunca había llegado a usarla. No soy un profesional en su
> uso, ya que solo hice algunas pruebas y leí un poco de la guía pero quizas
> gente con mas tiempo y necesidad sepa sacarle mayor provecho que yo.
>
> La Tool se llama Valgrind (
http://valgrind.org/), y para no redefinir uso
> lo que dice la wikipedia:
>
> *Valgrind es un conjunto de herramientas libres que ayuda en la depuración
> de problemas de memoria y rendimiento de programas.*
> *La herramienta más usada es Memcheck. Memcheck introduce código de
> instrumentación en el programa a depurar, lo que le permite realizar un
> seguimiento del uso de la memoria y detectar los siguientes problemas:*
> *- Uso de memoria no inicializada.*
> *- Lectura/escritura de memoria que ha sido previamente liberada.*
> *- Lectura/escritura fuera de los límites de bloques de memoria dinámica.*
> *- Memory Leaks*
> *- Otros.*
> *
> *
> * El precio a pagar es un notable pérdida de rendimiento; los programas se
> ejecutan entre cinco y veinte veces más lento al usar Valgrind, y su consumo
> de memoria es mucho mayor. Por ello normalmente no siempre se ejecuta un
> programa en desarrollo usando Valgrind, sino que se usa en situaciones
> concretas cuando se está buscando un error determinado se trata de verificar
> que no haya errores ocultos como los que Memcheck puede detectar.*
> *Valgrind incluye además otras herramientas:*
> *- Addrcheck, versión ligera de Memcheck que se ejecuta más rápido y
> requiere menos memoria pero que detecta menos tipos de errores. Esta
> herramienta ha sido eliminada a partir de la versión 3.2.0.*
> *- Massif, mide el rendimiento del monticulo (heap).*
> *- Helgrind, herramienta de detección de condiciones de carrera (race
> conditions) en código multihilo.*
> *- Cachegrind, mide el rendimiento de la caché durante la ejecución, de
> acuerdo a sus características (capacidad, tamaño del bloque de datos, grado
> de asociatividad, etc.).*
> *
> *
> Bueno para hacer toda esta magia, la tool funciona realmente como una
> maquina virtual simulando cada una de las lineas y llevando registros de en
> que linea se ejecuto un malloc, que puntero es y si en algún momento ese
> puntero se libera. Lo mismo con los threads, y de esta manera puede darse
> cuenta donde ocurren los race conditions. Como simulado todo es por ello que
> la aplicación se vuelve realmente lenta, pero podemos saber exactamente en
> que linea hay memory leaks y manejo incorrecto de memoria.
>
> Para los que tenga linux, pueden bajarlo del repositorio sin problemas y
> para los que tengas Windows van a tener que esperar un par de milenios mas
> porque no existe para Windows. Pera para los que estén interesado entre a la
> pagina y tiene una guía completa, cualquier cosa acá les dejo el quick
> starthttp://
valgrind.org/docs/manual/quick-start.html#quick-start.intro