Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>If you have the DSYM file for the crash then you can use this one:</p> <pre><code>#!/bin/bash if [[ $# &lt; 2 ]] then echo "Usage: $0 [-arch &lt;arch&gt; (defaults to whatever is specified in the crashlog- file] &lt;dSYM-file&gt; &lt;crashlog-file&gt;" exit 1 fi #Get the architecture either from the params or from the crashlog itself ARCH_PARAMS='' if [[ "${1}" == '-arch' ]] then ARCH_PARAMS="-arch ${2}" shift 2 else ARCHITECTURE=$(cat "${2}" | grep -A1 "Binary Images:" | grep 0x | sed -E -n 's/.*(armv[6-9]).*/\1/p') if [ -n "${ARCHITECTURE}" ] then ARCH_PARAMS="-arch ${ARCHITECTURE}" else echo "Couldn't determine architecture based on the crashlog. Please specify it by calling $0 -arch &lt;arch&gt; &lt;dSYM-file&gt; &lt;crashlog-file&gt;" exit fi fi echo "Assuming architecture:" ${ARCHITECTURE} #Store the other params SYMBOL_FILE="${1}" CRASHLOG="${2}" #Get the identifier out of the crashlog IDENTIFIER=$(cat "${CRASHLOG}" | egrep -o "^Identifier:[[:space:]]*.*$" | sed 's/^Identifier:[[:space:]]*\(.*\)$/\1/') echo "Identifier:" $IDENTIFIER echo echo #Iterate through the crashlog files, find the ones that belong to the $IDENTIFIER, sed the address out of those files, symbolicate them with atos and finally replace them back into those line again. Print all other lines untouched. while read line do SYMBOL=$(echo $line | sed -E -n "s/.*(${IDENTIFIER}[[:space:]]*)(0x[[:alnum:]]*).*/\2/p" | atos -o "${SYMBOL_FILE}/Contents/Resources/DWARF/${IDENTIFIER}" ${ARCH_PARAMS}) if [ -n "$SYMBOL" ] then echo $line | sed -E "s/(${IDENTIFIER}[[:space:]]*)(0x[[:alnum:]]*)(.*)/\1\2 ${SYMBOL}/" else echo $line fi done &lt; "${CRASHLOG}" </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload