ubiquitour.com

Cómo utilizar DTrace como un analizador de memoria

Al desarrollo de aplicaciones, debe asegurarse de que el programa resultante es tan libre de errores y libre de bugs como sea posible. Uno de los principales problemas con el lenguaje de programación C++ son pérdidas de memoria. Pérdidas de memoria se producen cuando una aplicación crea una instancia de alguna clase y luego no quitarla cuando haya terminado siendo utilizado. Depuración de programas C++ para esto con herramientas incorporados es a menudo difícil de interpretar. Por lo tanto, puede utilizar DTrace para la memoria del perfil y encontrar donde se produce la pérdida de memoria. Estos procesos son desarrollados para Unix y Linux en la línea de comandos. Esto requiere un conocimiento avanzado de C++ para realizar la prueba.

Instrucciones

1 Crear una secuencia de comandos en el texto recomendado: editor, llamado "memorytest.d" o similar.

2 Copie y pegue las siguientes líneas:

pragma D opción tranquila /PARÁMETROS DE PRUEBA/

/ regreso de param1() /PARAM1{printf ("% s: %x\n", probefunc, arg1);}

/ llamar a param2() /PARAM2{printf ("% s: %x\n", probefunc, arg0);}

3 Reemplace 'parámetros de prueba con las funciones de la secuencia de comandos de C++ y su nombre de fuente que desee en la aplicación de la prueba. Reemplace "PARAM1" con la función regresan para el parámetro y lo mismo con PARAM2 para su otro parámetro. Repetir este proceso con tantos parámetros como quieras. Salir y guardar la secuencia de comandos.

4 Tipo "dtrace -s./memorytest.d 'pgrep aplicación' | c ++ filt"(sin comillas). Reemplace "Solicitud" con la aplicación de C++. Presione "Enter".

5 Tipo, después de unos minutos, "pkill dtrace" y pulse «Enter». Este entonces muestra las instancias donde hay memoria fugas en el programa y así perfiles de la memoria en uso que no ha sido eliminado.