2011-03-26 11 views
13

Estoy tratando de usar Instruments para ver el uso de recursos en mi aplicación Monotouch. Sin embargo, no puedo hacer que la aplicación se inicie a través de Instruments.¿Por qué los instrumentos no ejecutarán mi aplicación Monotouch?

Cuando pulso el botón de grabación en los instrumentos, la aplicación pone en marcha en mi iPhone, zumba (lo que significa que es una versión de depuración), entonces se bloquea - e informa de Instrumentos:

Target failed to run: Remote exception encountered : 'Failed to get task for pid 384' 

La aplicación funciona muy bien cuando inicio directamente en el teléfono.

Lo he intentado con compilaciones de depuración y compilaciones ad hoc (usando los parámetros definidos en el Monotouch support page). Siempre lo mismo.

Estoy usando Monotouch 3.2.5, iOS 4.3.1 (en un 3GS), Xcode 4 y Snow Leopard.

He visto este emitido mencionado en algunos lugares de la web, pero no he visto una resolución. ¿Alguien sabe cómo resolverlo?

Respuesta

17

Es un problema de firma: para ejecutar bajo el control de Instruments, la aplicación se compila con la configuración de compilación de Release, no con Debug, que generalmente significa que la aplicación está firmada con su certificado de distribución en lugar de su certificado de desarrollador. La aplicación debe estar firmada con un certificado de Desarrollador para que los Instrumentos puedan controlarla. Cambie su opción de firma al desarrollador en la compilación de lanzamiento y debería estar bien.

0

¿Qué tal el lanzamiento de instrumentos desde el interior de XCode? Si está utilizando Xcode 3, está en el menú Generar y luego Ejecutar con herramientas de rendimiento. Esto disparará los instrumentos y comenzará a grabar automáticamente.

+0

Estoy usando MonoTouch, por lo que el código está en un IDE diferente (MonoDevelop). – dommer

+0

Lo siento, me perdí completamente la referencia de Monotouch en tu título. – detra83

2

Revise sus derechos en la aplicación firmada. Si get-task-allow es false, impedirá que los instrumentos se adhieran al proceso.

3

también me encontré con este tema con Xcode 4. Lo que funcionó para mí fue ...

De Xcode 4, se ejecutan en el dispositivo iOS conectado. Ejecute la aplicación Instruments manualmente. Elija mi plantilla (en este caso, Perfil de tiempo). Elija mi aplicación del menú Objetivo (a la derecha del botón Grabar). Haga clic en el botón Grabar.

La solución de Derechos sugeridos no me sirvió (dado que los derechos ya no son necesarios en Xcode 4).

La solución de firma sugerida tampoco funcionó. Además, sería inconveniente cambiar esto cada vez que quisiera probar con Instruments.

Cuestiones relacionadas