“Conocimiento Programación>C /C + + Programming

Cómo encontrar a una pérdida de memoria en Linux

2012/5/2
diferencia de los lenguajes de programación más recientes, como Java y Python, lenguajes de programación como C requieren que el programador para gobernar su propia memoria. C proporciona facilidades para solicitar la memoria libre y la devuelven al sistema operativo , pero nada más . Debido a lenguajes como C ofrecen ningún mecanismo de recolección de basura para limpiar los objetos que ya no están en uso , el programador debe estar alerta y eliminar los objetos cuando ya no sean necesarios. Si un programa no se deshace de sus objetos sin uso, la pérdida de memoria resultante puede hacer que el sistema operativo se cuelgue. Instrucciones
1

instalar la suite de depuración " valgrind " .

El paquete valgrind está disponible gratuitamente en todas las distribuciones de Linux. Para instalarlo en distribuciones Debian - derivadas como Ubuntu , escriba "sudo apt- get install valgrind . " En RedHat o Fedora , escriba " sudo yum install valgrind . "
2

Compile el programa con símbolos de depuración .

El compilador más común para los programas de C en sistemas Linux es gcc . Utilice el indicador " -g " instruir gcc para incluir símbolos de depuración en el binario que crea. ( Símbolos de depuración son necesarias para que los depuradores como valgrind para referirse a problemas específicos en su código ) .

Si usted tiene un programa C llamado " memoryhog.c . " por ejemplo, la compilación será el uso de este comando: gcc -g memoryhog.c
3

Ejecutar binarios del programa a través de valgrind

A menos que usted le indique lo contrario , gcc . nombrará a su programa " a.out ". Para ejecutar el binario llamado " a.out " utilizando valgrind , escriba el siguiente comando: . Valgrind - fugas verifique = full - show- alcanzable = sí /a.out
4

Inspeccione la salida de valgrind

Si todas las pérdidas de memoria han sido fijados , informes valgrind " todos los bloques montón fueron liberados - . hay fugas son posibles " .

Si las fugas de memoria están presentes, valgrind lista el número de línea sobre el que se crea la fuga.

C /C + + Programming
Cómo crear un bucle while en C
Cómo vincular un compilador de C para NetBeans
Cómo enviar pulsaciones de teclas a Active X Propiedades
Cómo Teach Yourself Visual C 6
Cómo devolver un vector a partir de una función
Cómo quitar el relleno de una estructura C
Cómo incrustar en Python
Cómo utilizar punteros en C + +
Conocimiento de la computadora © http://www.ordenador.online