Tecnología

Inicio

Cómo utilizar DTrace como una memoria de perfiles

En el desarrollo de aplicaciones, debe asegurarse de que el programa resultante es tan libre de errores como sea posible y libre de errores. Uno de los principales problemas en el lenguaje de programación C ++ son las pérdidas de memoria. Las pérdidas de memoria se producen cuando una aplicación crea una instancia, de algún tipo, y luego no lo elimina cuando se ha terminado siendo utilizado. Depuración de programas en C ++ para esto con herramientas incorporadas a menudo es difícil de interpretar. Por lo tanto, se puede utilizar DTrace para perfilar la memoria y encontrar dónde se produce la pérdida de memoria. Estos procesos se han desarrollado para Unix y Linux en la línea de comandos. Esto requiere un conocimiento avanzado de las pruebas de C ++ para realizar.

Instrucciones

1 Crear una secuencia de comandos en su editor de texto preferido, denominado "memorytest.d" o similar.

2 Copiar y pegar las siguientes líneas:

pragma opción D tranquila

/


PARÁMETROS Para probar
/

/ Retorno de parám1 () /
PARAM1
{
printf ( "% s:% x \ n", probefunc, arg1);
}

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

3 Reemplazar 'PARÁMETROS PARA PROBAR' con las funciones de su secuencia de comandos de C ++ y su nombre de la fuente que desea probar en la aplicación. Reemplazar "PARAM1" con la función de volver a la paramter y lo mismo con PARAM2 para su otro parámetro. Repita este proceso con la mayor cantidad de parametros como desee. Salir y guardar la secuencia de comandos.

4 Tipo "dtrace -s ./memorytest.d 'pgrep APLICACIÓN' | c ++ filt" (sin comillas). Reemplazar "aplicación" con su aplicación C ++. Presione ENTRAR."

5 Tipo, después de unos minutos, "pkill dtrace" y presionar "Enter". Este a continuación, muestra los casos en los que hay pérdidas de memoria en el programa y por lo tanto los perfiles de la memoria en uso que no se ha eliminado.