2010-04-23 25 views
13

no puedo llegar a hacer mi código symbolicated ... leí la parte de "abajo":Symbolicate aplicación ad hoc iPhone se bloquea

Dado un informe de bloqueo, el juego binario, y su archivo .dSYM , La simbolización es relativamente fácil. La ventana Xcode Organizer tiene una pestaña para informes de fallos del dispositivo actualmente seleccionado . Puede ver informes de fallos recibidos externamente en esta pestaña; simplemente colóquelos en el directorio apropiado . Este es el igual que el directorio Mac OS X descrito en la primera sección. Es no importa a qué dispositivo tiene atado, pero el directorio en el que coloca el informe de bloqueo debe ser el directorio para el dispositivo atado y seleccionado. No es necesario colocar el archivo binario y .dSYM en ninguna ubicación particular Xcode usa Spotlight y el UUID para localizar los archivos correctos . Sin embargo, es necesario, , que ambos archivos estén en el mismo directorio y que este directorio sea indexado por Spotlight. Cualquier lugar en su directorio de inicio debe estar bien .

Pero no funciona para mí ... aquí es lo que hice:

  • me abrió organizador de Xcode y tuve mi dispositivo iPhone con registros de errores
  • archivos de la aplicación y son dsym en mi proyecto xcode que está en mi escritorio

Todo lo demás debe ser automático, ¿no? pero los registros de fallos aún no están simbolizados ...

Todos los comentarios son bienvenidos.

Saludos.

Gotye.

+0

¿Son los archivos .app y .dSYM que tiene en su escritorio los exactos que se han generado en el momento en que construyó su binario especial? Cualquier cambio, incluso menor, puede interrumpir el proceso de simbolización. –

Respuesta

8

Para symbolicate su informe de accidente, trate de este enfoque:

(a) Busque el symbolicator (/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/ a/Recursos/symbolicatecrash)

(b) Abrir terminal y arrastre este archivo (para que la ruta se copia correctamente)

(c) Ejecutar un comando como /Developer/Platforms/iPhoneOS.platform/Developer/ Biblioteca/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/simbólico atorcrash .crash.aplicación (mencionar toda la trayectoria del informe de bloqueo y el archivo de aplicación)

informe

(d) accidente Symbolicated se mostrará

+0

El mismo informe de fallos que recibo en los registros del dispositivo en el Organizador, lo recibo usando su método. ¿Por qué? –

+0

para mí, agregando una ruta explícita a .app ayudado; mientras que Xcode (desde la versión 4.2, creo) debe haberse saltado, estoy recibiendo bloqueos no simbolizados para mis aplicaciones en Xcode. – kender

+0

@kender: como mencioné, se debe mencionar toda la ruta de la aplicación y del informe de fallos, estoy confundido con el bit de informe no simbolizado, ¿qué versión de Xcode estás usando? –

5

Pasos para analizar el informe de fallos de manzana:

  1. Copiar la liberación El archivo .app que se envió a la tienda de aplicaciones, el archivo .dSYM que se creó en el momento del lanzamiento y el informe del bloqueo reciben de APPLE en una CARPETA.

  2. aplicación de terminal, y va a la carpeta creada anteriormente (con el comando CD)

  3. atos -arch ARMv7 -o '(el nombre del archivo .app aquí)'/'(. DSYM nombre aquí)' (ubicación de la memoria en el informe del bloqueo donde ocurrió el bloqueo). La ubicación de la memoria debe ser aquella en la que la aplicación se bloqueó según el informe.

Ex: atos -arch ARMv7 -o 'name.app aplicación'/'nombre de la aplicación' 0x0003b508

que le indicará a la línea exacta, nombre del método que se tradujo en un accidente.

Gracias

+0

Esto no es lo mismo que simbolizar todo el informe de bloqueo. Esto le da el símbolo correspondiente para una sola dirección. –

+0

@DaveCameron Sí, lo anterior solo hizo eso, pero si se usa sin una dirección, le permite analizar varias ubicaciones al enviar la dirección una por una. http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports/4954949#4954949 –

12

He estado luchando con esto durante varios días y finalmente descubierto. No pude obtener registros simbolizados de ninguna aplicación Archivada que instalé en mi teléfono. Para mí, fue un problema con la configuración de compilación, aunque me di cuenta de que era capaz de simbolizar los registros de algunas compilaciones antiguas también después de seguir estos pasos. YMMV puede variar con los registros de bloqueo de compilaciones anteriores. Pude obtener registros simbolizados después de seguir estos pasos en Xcode 4.0.1 en iOS 4.3.1.

En el navegador del proyecto Xcode, haga clic en su proyecto y luego en Configuración de compilación. Cuando archiva su aplicación, Xcode usa la configuración de Release por defecto. Deberá establecer los siguientes valores solo para la configuración de Release, por lo que deberá expandir cualquier configuración que no esté ya expandida para permitirle configurarla por configuración.

asegurar que estos valores se establecen para la configuración de lanzamiento:

  • generar símbolos de depuración: Sí
  • Información de Depuración Formato: enano con dSYM archivo
  • Postprocessing Despliegue: Sí
  • Gaza Producto Vinculado: Sí
  • Utilice la tira separada: Sí
  • Símbolos de depuración de la tira durante la copia: No
  • de Gaza Estilo: Todos los símbolos

Una vez que estos se fijan, archivar y volver a instalar la aplicación. Los nuevos informes de fallas generados a partir del archivo resultante deben estar simbolizados correctamente. Para mí, muchos informes de fallos antiguos también se simbolizaron correctamente después de seguir estos pasos, aunque no estoy seguro de qué tan precisos serían los resultados si las compilaciones fueran muy diferentes.

Como referencia, pensé que todo esto después de estudiar esta página: http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html

También encontré esta página, lo cual es útil si usted está tratando de averiguar qué entorno de construcción especial hace: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

Espero que esto ayude!

Dan

+0

Generar depuración - Sí, Info de depuración Dwarf + dSym, depuración de franjas Durig Copiar No, Todas las de estilo de franjas están configuradas así por defecto. Configurar el postprocesamiento de implementación y el producto vinculado en tira no me afectó. Sin embargo, use Separate Strip es lo que lo hizo funcionar. Gracias – dizy

Cuestiones relacionadas