Colección de citas famosas - Slogan de motivación - Análisis de registro de accidentes de iOS

Análisis de registro de accidentes de iOS

Como desarrollador de aplicaciones, creo que a menudo te encuentras con los siguientes escenarios:

Antes de enviar tu aplicación a la App Store, debes haber realizado muchas pruebas. bien en su dispositivo, sin embargo, todavía falla durante el uso. Creo que todo el mundo ya ha hecho un buen trabajo recopilando registros de fallos.

El registro de fallos se divide principalmente en dos situaciones:

1. Conéctese a una máquina real para depurar

2. Seguimiento de errores de aplicaciones en la App Store

Este artículo habla principalmente sobre el análisis de errores en la App Store.

La imagen de arriba es el registro de fallos proporcionado por Apple. Analicemos el contenido del registro paso a paso.

1. Información del proceso

Identificador de incidente: ID de falla

Clave de CrashReporter: ID de dispositivo de falla

Modelo de hardware: modelo de teléfono móvil

Proceso: [nombre de la aplicación] [ID del proceso]

Ruta: ubicación de la aplicación

Identificador: ID del paquete

Versión: número de versión.

AppStoreTools

Tipo de código: arm64

Rol: la aplicación está en primer plano

Proceso principal

Coalición

2. Información básica

Fecha/Hora: hora de ocurrencia del fallo

Hora de inicio: hora de inicio de la aplicación

Versión del sistema operativo: versión de iOS

Tipo de versión

Versión de banda base

Versión de informe

3. Información de excepción

Tipo de excepción: Tipo de excepción

Códigos de excepción: Dirección de excepción

Nota de excepción: Descripción

Activado por hilo: El hilo donde ocurrió la excepción

4. Excepción rastreo

p>

Pila de subprocesos cuando se produce una excepción

Antes del análisis, debe preparar el archivo dSYM, el registro de fallos y el simbólicocrash (la propia herramienta de análisis de fallos de Xcode).

¿Qué es un archivo dSYM?

Después de que Xcode compila el proyecto, veremos un archivo dSYM con el mismo nombre. dSYM es un archivo de transferencia que guarda información de mapeo de direcciones de funciones hexadecimales. Los símbolos que depuramos se incluirán en este archivo. time Al compilar el proyecto, se generará un nuevo archivo dSYM, ubicado en el directorio /Users/username/Library/Developer/Xcode/Archives. Es necesario que guardemos el archivo Archives correspondiente para cada versión.

Función del archivo dSYM

Podemos consultar el nombre de la función y el nombre del archivo correspondiente al programa en el archivo dSYM a través de la dirección de la función de error en el registro de fallos

1. Crear una nueva carpeta crashtemp en el escritorio

Busque el archivo "symbolicatecrash" y cópielo en la carpeta "crashtemp" que acaba de crear.

3. Xcode->Ventana->Organizador->Archivos muestra el contenido del paquete, obtiene el archivo dSYM y lo copia en la carpeta "crashtemp" recién creada.

4. Copie el archivo de registro de fallos en crashtemp.

5. Abra la terminal e ingrese a la carpeta crashtemp:

6. Verifique si los archivos crash y dSYM coinciden

Cada archivo xx.app.dSYM tiene un correspondiente El UUID del archivo bloqueado también tiene su propio UUID. Siempre que los UUID de estos tres archivos sean consistentes, podemos analizar la información correcta de la función de error a través de ellos.

Ingrese el siguiente comando en la terminal para ver el UUID:

7. Ingrese el siguiente comando

En este momento, la terminal procesará...

Genera un nuevo archivo symbol.crash, que es el archivo de bloqueo que conocemos.

A veces, la información del fallo no se puede analizar mediante simbólicocrash, o se puede analizar la pila de la propia aplicación, pero no se puede analizar la pila del sistema.

Se puede analizar línea por línea mediante el comando atos. A través de este comando, se puede analizar una línea específica de la pila.