iOS Tutorial Symbolicating a crash report

Discussion in 'iOS Tutorials' started by Erel, Jul 19, 2016.

  1. Erel

    Erel Administrator Staff Member Licensed User

    I will cover the steps required to symbolicate a crash report received from Apple.
    The result is a readable stack trace.

    It requires a local Mac.

    The crash report is a text file that looks like:

    [​IMG]

    1. Find the binary address:

    [​IMG]

    2. Unzip the Archive.zip (the one used when uploading the app) and find the dsym.zip file. The application file is under: <app name>.dSYM\Contents\Resources\DWARF

    Note that you can also take the application file from inside the ipa file. The difference between the two is small (whether Objective C line numbers will appear or not).

    3. Create a text file with the stack trace addresses from Thread-0. The ones relevant to your code should start with the app name (Logo Ali in this case). The addresses are selected:

    [​IMG]

    Tip: If you are using Notepad++ then you can block select by holding the alt key.

    The text file content is:
    Code:
    0x000000010015f42c
    0x00000001000dd8bc
    0x00000001000c0bc4
    0x00000001000c30f8
    0x0000000100125154
    0x0000000183188a60
    0x0000000183080488
    0x000000010015e958
    0x000000010015e13c
    0x0000000100176908
    4. Copy the text file to the Mac.

    On the Mac we have a folder with two files, the application file and the text file.

    5. Open the terminal and run:
    Code:
    xcrun atos -o MyApp -arch arm64 -l <binary address> -f 1.txt
    Output:

    [​IMG]

    As we can see the error happened in: Main.Timer_Im_Tick -> Busca1.Monta_FrmBusca -> Busca1.Monta_Busca_Indicaco -> Funcoes.AddMap
    And internally it happened when an object with an unknown type was converted to a number.

    If you still have the generated source code of the compiled app (or if you didn't change the B4i code) then you can open b4i_funcoes.m file and see the exact error line (71).
     
    Last edited: Jul 19, 2016
    ilan likes this.
  2. ilan

    ilan Expert Licensed User

    after arm64 it looks like -1 but is a lower case "L" (thats why i could not get it working :confused:)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice