ios xcode crash symbolicatecrash

ios - Atos no puede obtener símbolos de dSYM de la aplicación archivada



xcode crash (2)

Tengo un informe de BugSense de BugSense , por lo que tengo información sobre la ubicación de la memoria de los fallos, pero no están simbolizados. Además, Bug Sense no envía informes de fallos tradicionales, pero aún así me da un seguimiento de errores. Así que estoy tratando de usar Atos para obtener la ubicación exacta de mis accidentes. Archivé la aplicación en XCode 4 y usé esa versión para enviarla a la tienda de aplicaciones, así que tengo un archivo dSYM. He ejecutado el siguiente código:

atos -arch armv7 -o MyApp.app.dSYM 0x001057e9

Sin embargo, en lugar de obtener el resultado adecuado, recibo un error:

atos cannot load symbols for the file MyApp.app.dSYM for architecture armv7

¿Alguna sugerencia de por qué esto podría estar pasando? No estoy quitando los símbolos de depuración de la aplicación.


Para obtener correctamente los símbolos del archivo dSYM de su aplicación archivada y obtener información útil de sus informes de fallos de BugSense (o cualquier otro informe de fallos en este caso):

  1. Copie el seguimiento de la pila de BugSense en TextEdit o cualquier otro editor de texto. Asegúrese de usar el icono del "portapapeles", en lugar de simplemente copiar el texto. De lo contrario, no obtendrá las ubicaciones de memoria reales de la traza de pila, que son necesarias para buscar las referencias utilizando atos y simbolizar su traza de pila.
  2. Abre XCode y ve al Organizador
  3. Encuentre su archivo y haga clic derecho en él, vaya a abrirlo en el buscador.
  4. Navegue al directorio del archivo, generalmente ~/Library/Developer/XCode/Archives/YYYY-MM-DD/
  5. Vaya al archivo específico, y luego a la carpeta dSYMs
  6. Verá el archivo MyApp.app.dSYM y puede pensar que este es el archivo contra el que debo ejecutar atos . Esto es incorrecto. ¡Es en realidad otro paquete! cd en este paquete, en la carpeta: MyApp.app.dSYM/Contents/Resources/DWARF y encontrará otro archivo llamado simplemente MyApp . Este es el archivo dSYM real.
  7. Ejecute atos -arch armv7 -o MyApp 0x0000000 (o cualquiera que sea la dirección de la memoria) para encontrar la ubicación de su error, o simplemente atos -arch armv7 -o MyApp para ingresar al modo interactivo.

Tienes que conseguir la dirección correcta. Puedes usar la solución anterior, pero debes usar matemáticas hexadecimales para obtener la dirección de memoria correcta. diapositiva + apilar dirección - cargar dirección.