-
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.