2011-10-28 18 views
7

Estoy tratando de optimizar el uso de la memoria de una aplicación de iOS, y me gustaría ver cuál es el uso total de la memoria de la aplicación en puntos específicos del código. Estaba pensando que debería ser capaz de establecer puntos de interrupción, perfilar la aplicación con el Monitor de actividad, y solo mirar el uso de la memoria cuando atrapa cada punto de interrupción. Pero cuando ejecuto Instruments, parece que los puntos de interrupción ya no detienen la ejecución, por lo que es difícil saber exactamente cuándo cambia el uso de la memoria.¿Es posible utilizar los instrumentos de XCode con los puntos de interrupción habilitados?

¿Es posible utilizar puntos de interrupción e instrumentos al mismo tiempo? De lo contrario, ¿hay alguna forma inteligente de escribir código para insertar un marcador en la línea de tiempo de Instruments cuando ocurren eventos específicos?

Respuesta

8

También me encontré con este problema hoy, y después de un poco de búsqueda encontré esta solución. El texto a continuación es una cita de la publicación:

Puntos de interrupción No se rompa. Los instrumentos utilizan información de depuración del tu compilación de depuración, sin embargo, no se detiene en los puntos de interrupción que establezcas. Esto se debe a que mientras carga su aplicación en Instrumentos del menú en XCode, Instruments simplemente usa la ruta del archivo ejecutable actual como ruta de inicio y la carga externamente desde desde XCode. El menú en XCode está realmente allí como un mecanismo de conveniencia . Esto no es un gran problema ya que siempre se puede ejecutar nuevamente en el modo de depuración después de la sesión de instrumentos si desea que se rompa su aplicación . Es algo de lo que tomar nota.

Las declaraciones NSLog no se muestran en la consola del depurador. Si desea consulte sus declaraciones NSLog, deberá cargar la aplicación de consola del sistema (/ Aplicaciones/Utilidades/Consola).

Referencia: http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

0

Bueno, no se está ejecutando bajo el control del depurador.

Un enfoque podría ser agregar alertas en los puntos clave, y luego tomar una foto (manualmente).

O puede haber algo de magia dtrace.

Cuestiones relacionadas