Valgrind_es

Debugging Central

This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages.

Valgrind es un conjunto de herramientas para la depuración y perfilado de programas. Existen tres herramientas: un detector de errores de memoria, un perfilador de tiempo y un perfilador de espacio.

Para los propósitos de depuración, el detector de errores de memoria es una herramienta práctica.

Detección de errores de memoria

El más importante de ellos es el detector de errores de memoria, que rastrea el uso de cada bit en un programa y advierte si existe algo sospechoso. Valgrind puede detectar si la memoria es usada antes de tenga un valor, fugas de memoria, o la memoria se utilizada dos veces.

Esto lo hace ideal para la localización de fallos de segmentación, errores de bus y fugas de memoria en general.

Por favor, asegúrate de tener los paquetes de símbolos de depuración instalados. Puedes hacer esto siguiendo las instrucciones de la DebuggingProgramCrash.

  1. Asegúrate de que Valgrind está instalado.

    sudo apt-get install valgrind
  2. Elimina cualquier registro antiguo de Valgrind:

    rm valgrind.log*
  3. Inicia el programa bajo el control de memcheck (valgrind no puede resolver rutas, así que debes alimentarlo con la ruta completa del programa, para conseguirla: which <programa>):

    G_SLICE=always-malloc G_DEBUG=gc-friendly  valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log <programa> <argumentos>
  4. El programa empezará. Puede llevar un tiempo; es normal, porque Valgrind debe llevar a cabo una comprobación extensiva para detectar errores de memoria.
  5. Lleva a cabo las acciones necesarias para reproducir el fallo.
  6. Empaqueta los archivos de registro (no es necesario si solo hay uno):

    tar -zcf valgrind-logs-<program>.tar.gz valgrind.log*
  7. Adjunta la salidad completa de Valgrind, contenida en valgrind-logs-<programa>.tar.gz, en tu informe de fallo.


CategoryBugSquad CategoryDebugging

Otros idiomas


CategoryBugSquad

Valgrind_es (last edited 2009-10-31 02:53:32 by 24)