iphone ios ipad symbolicatecrash crash-log

iphone - Cómo simbolizar manualmente el bloqueo de iOS para ver los registros de bloqueo



ipad symbolicatecrash (6)

EDIT :: XCode 4.3

Deberá seguir los mismos pasos que se describen en la respuesta original (a continuación) con algunas excepciones.

Primero, necesitas arreglar la ruta de Xcode. Abra una terminal y ejecute:

/ usr / bin / xcode-select -print-path

Si muestra "/ Desarrollador" o cualquier otra cosa que no sea "/Aplicaciones/Xcode.app/Contents/Developer/", entonces está mal. Para arreglar esto, ejecute el comando:

sudo / usr / bin / xcode-select -switch /Applications/Xcode.app/Contents/Developer/

Ahora puede ejecutar todos los pasos a continuación, con la excepción de que el comando symbolicatecrash está en un nuevo lugar (nuevamente). Esto se debe a que Xcode ahora se instala como una aplicación. Para encontrar symbolicatecrash ejecutar esto desde la terminal :

encuentre / Aplicaciones / Xcode.app -name symbolicatecrash -type f

Esto debería regresar:

/Aplicaciones/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

Antes de ejecutar symbolicatecrash es posible que desee ir a este directorio como:

cd / Aplicaciones / Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/

Respuesta original :: Xcode <4.3

Camino para symbolicatecrash

Buscar desde una terminal usando:

find / Developer -name symbolicatecrash -type f

Para mí esto regresó:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

Cómo simbolizar manualmente un registro de bloqueo

Ejecute el comando symbolicatecrash con el registro de bloqueo como primer argumento y su archivo dSYM como su segundo argumento. Tenga en cuenta que si va a ejecutar symbolicatecrash desde el directorio actual que DEBE colocar ./ como ./symbolicatecrash menos que su variable de entorno PATH incluya el directorio en el que reside el comando.

Cambié al directorio que tenía primero el comando symbolicatecrash (nota: será diferente para Xcode 4.3, ver arriba):

cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/

Luego ejecuté el siguiente comando:

./symbolicatecrash /somePath/MyCrashLogFile.crash /somePath/MyAppName.app.dSYM

Cómo encontrar el archivo dSYM:

Debe tener el archivo que se utilizó para crear la compilación con el bloqueo para obtener el archivo dSYM.

Estos son los pasos:

  1. Haga clic con el botón derecho (o haga clic en Ctrl + clic) en el archivo del organizador y seleccione "Mostrar en el buscador".
  2. Desde el archivo xcarchive en el buscador, haga clic con el botón derecho (o presione Ctrl clic) en este archivo y elija "Mostrar contenido del paquete". A continuación, verá una carpeta "dSYMs".
  3. Dentro de la carpeta "dSYMs" encontrará el archivo "YourAppName.app.dSYM" que necesitará para simbolizar los archivos.

Intentando depurar la aplicación El problema es que no puedo encontrar este programa.

symbolicatecrash.sh

sudo cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneRemoteDevice.xcodeplugin/Contents/Resources/symbolicatecrash /usr/local/bin/

¿Es una descarga por separado? Estoy usando XCode 3.2.3

Gracias.


Acabo de escribir una publicación sobre el registro de errores de depuración hace 5 minutos aquí: http://just2us.com/2010/10/reading-iphone-crashlog/

Puede que ya no necesite symbolicatecrash.sh si arrastrar y soltar los registros a Xcode es lo suficientemente bueno para su propósito. Estoy usando 3.2.4, y no puedo encontrar el script también.


Aquí hay un método simple que uso:

  1. Abre Xcode 6
  2. Enchufa tu dispositivo de desarrollo
  3. Dentro de Xcode, ve a Ventana> Dispositivos> Selecciona tu dispositivo
  4. Presione ''Ver registros del dispositivo''
  5. Arrastre su informe a la ventana para verlo

Como explica Apple, Xcode intentará simbolizar automáticamente. Utiliza symbolicatecrash y spotlight para hacer eso. Sin embargo, si la aplicación no se creó localmente o se eliminó, entonces los archivos .app y .dsym necesarios no están disponibles.

Así que manténgase cerca del archivo dsym y la aplicación de las versiones lanzadas. Las herramientas de compilación suelen comprimir el archivo .dsym en .dsym.zip y empaquetar el .app como .ipa. Puede descomprimir ambos y copiar .app y .dsym a la misma carpeta. Entonces Xcode podrá encontrarlos usando Spotlight.


Hay un complemento disponible para Xcode en el menú Producto. Este complemento está disponible a través del administrador de paquetes de Alcatraz o se puede descargar directamente desde github .

Este complemento incorpora internamente una secuencia de comandos de shell que realiza la configuración de ejecutar los siguientes comandos para la simbolización manual de errores.

  1. Establecer un alias para script symbolicatecrash.pl perl

alias symbolicatecrash = ''/ Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Desarrollador / Biblioteca / PrivateFrameworks / DTDeviceKit.framework / Versions / A / Resources / symbolicatecrash''

  1. Para encontrar symbolicatecrash, ¿debería diferir del alias anterior?

encuentre / Aplicaciones / Xcode.app -name symbolicatecrash -type f

  1. Establezca la variable DEVELOPER_DIR:

exportar DEVELOPER_DIR = ''/ Applications / Xcode.app / Contents / Developer''

  1. Con dSYM, el bloqueo puede simbolizarse como:

symbolicatecrash /path/to/MyApp_2012-10-01_Device.crash /path/to/MyApp.app.dSYM.


Una forma de simbolizar un registro de bloqueo es ejecutar el siguiente comando en la terminal:

xcrun atos -o MyApp.app/MyApp -arch armv7 -l 0xb7000 -f MyApp.crash

Reemplace el número hexadecimal de ejemplo (0xb700) en el comando anterior con la dirección de carga base. La dirección de carga base es la primera dirección de memoria en la línea inmediatamente posterior

"Imágenes binarias"

Para obtener el archivo .app:

Haga clic con el botón derecho en el archivo xcarchive y seleccione Mostrar contenido del paquete. El archivo .app está en el directorio Productos / Aplicaciones.