que logs carpeta ios crash crash-log

logs - ¿Cómo decodificar un registro de bloqueos usando un archivo dSYM en iOS?



itunes crash logs carpeta (3)

Mi aplicación iOS se estrelló. Me gustaría leer el registro de fallos con el archivo dSYM. ¿Como es posible?


En primer lugar, necesita tres archivos: el archivo dSYM, el archivo de la aplicación y el registro de bloqueo.

Abra el Código X, en el navegador del proyecto, revele la carpeta Productos y "Mostrar en el buscador" el archivo de la aplicación. Aquí encontrarás el archivo dSYM también. Cópialos en una carpeta.

Ahora abra el terminal y navegue a la carpeta que copió previamente los dos archivos. Ejecute: dwarfdump --uuid Application_name.app/Application_name Debe recibir el UUID de la aplicación. Ejecute el siguiente comando: dwarfdump --uuid Application_name.app.dSYM : recibirá nuevamente el UUID, que debe coincidir con el UUID recibido anteriormente.

Abra el registro de fallos (Código X - Organizador - bloqueos) y busque la línea donde aparece el título "Imágenes binarias". Aquí hay otro UUID en la primera línea, que debe coincidir nuevamente con el recibido previamente en el terminal.

Ahora, está seguro de que el bloqueo se registró en la compilación que está examinando, por lo tanto, abra nuevamente el archivo de registro de fallos, busque la sección Subproceso 0 y debe haber dos líneas con el nombre de la aplicación y dos direcciones. Como:

Application_name 0x123456 Application_name 0x987654

En la terminal, debe ejecutar ahora: atos -arch armv7 -o address1 address2 (la dirección1 y la dirección2 deben reemplazarse con las dos direcciones anteriores, y el armv7 con su sistema; se muestra en las líneas, donde obtuvo los UUID) .

Feliz depuración!

EDITAR: Me gustaría mencionar this post como base de la mía.


En realidad, no puede decodificar el archivo dSYM, pero obtenga los detalles del error 1. encuentre el hilo y la dirección del archivo de registro: a continuación se encuentra 0x0nnn 2. busque el Tipo de código nativo del archivo de registro: lo siguiente es arm64
3. encuentre el archivo dSYM (archivo de símbolos), extraiga de .xcarchive: lo siguiente es xx.app.dSYM

dwarfdump --lookup 0x0nnn --arch=[arm64 armv6 armv7] xx.app.dSYM


Inspiración

https://developer.apple.com/library/archive/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATEWITHXCODE

Pasos para obtener un archivo dsym

  • Construye la aplicación iOS para Archive
  • Extraer el MyApp.xcarchive
  • Dentro de ese archivo, encontrará su archivo dSYM.

Obtenga su registro de fallos del dispositivo

Tire del archivo .crash de un dispositivo. Normalmente uso xCode para esto.

Método línea por línea

atos -arch arm64 -o TheElements.app.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc 0x1000e4000 = address of your app''s image 0x00000001000effdc = is the stripped name of the symbol you want to turn into a readable name

Método pro

Obtener la ubicación de symbolicatecrash ejecutable.

En xCode 9, el archivo que desea está aquí:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

Imprimir el registro de bloqueo simbólico a la terminal

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" ./symbolicatecrash -v crash_log_20_9_2018.crash myapp.app.dSYM

Leyendo

Buenas instrucciones para atos aquí: ¿Cómo simbolizar Xcode registro de bloqueo?

Manera de realizar lo mismo sin el archivo dsym aquí: https://medium.com/@Mrugraj/crash-re-symbolication-5c28d3a3a883