1. Why symbolize:
iOS program in the real machine running program crash condition, the machine will automatically generate a log file, it contains the program crash before the running logic, analysis of Carsh files, effective solution to the problem on the real machine, to ensure the good stability of the program, However, the crash file is mostly a display of problematic addresses and some system messages that cannot be viewed in the program for the corresponding crash location. So it needs to be symbolized into the code that we are familiar with to conveniently locate the problem.
Xxx.crash's original log:
0 libsystem_kernel.dylib 0X32A50DFC __pthread_kill + 8
1 Libsystem_pthread.dylib 0x32aced33 Pthread_kill + 59
2 libsystem_c.dylib 0x329f0905 Abort + 73
3 Libsystem_c.dylib 0x329d0365 __ASSERT_RTN + 89
4--0x002d745d ' 0x4000 ' + 2962525
5--0x0021b75b ' 0x4000 ' + 2193243
6--0x0021af7d ' 0x4000 ' + 2191229
7 Foundation 0x25903d6b __nsthreadperformperform + 383
8 corefoundation 0x24bb9d55 __cfrunloop_is_calling_out_to_a_source0_perform_function__ + 13
9 corefoundation 0x24bb9163 __cfrunloopdosources0 + 215
Ten corefoundation 0x24bb77c9 __cfrunlooprun + 769
Corefoundation 0x24b053bd cfrunlooprunspecific + 473
Corefoundation 0X24B051CF Cfrunloopruninmode + 103
Graphicsservices 0x2bebd0a5 Gseventrunmodal + 133
UIKit 0x28114f9d Uiapplicationmain + 1437
--0x00350615 0x4000 + 3458581
Libdyld.dylib 0x3298aaad start + 1
After Symbolization:
0 libsystem_kernel.dylib 0X32A50DFC __pthread_kill + 8
1 Libsystem_pthread.dylib 0x32aced33 Pthread_kill + 59
2 libsystem_c.dylib 0x329f0905 Abort + 73
3 Libsystem_c.dylib 0x329d0365 __ASSERT_RTN + 89
4--0x002d745d-' [Middleware fundopeninfo:] ' + 3637
5--0x0021b75b-' [Fundinfocontroller setinfodata:] ' + 135
6--0x0021af7d-' [Fundinfocontroller onskyreceive:] ' + 421
7 Foundation 0x25903d6b __nsthreadperformperform + 383
8 corefoundation 0x24bb9d55 __cfrunloop_is_calling_out_to_a_source0_perform_function__ + 13
9 corefoundation 0x24bb9163 __cfrunloopdosources0 + 215
Ten corefoundation 0x24bb77c9 __cfrunlooprun + 769
Corefoundation 0x24b053bd cfrunlooprunspecific + 473
Corefoundation 0X24B051CF Cfrunloopruninmode + 103
Graphicsservices 0x2bebd0a5 Gseventrunmodal + 133
UIKit 0x28114f9d Uiapplicationmain + 1437
--0x00350615 Main (main.m:18)
Libdyld.dylib 0x3298aaad start + 1
Obviously, it is possible to locate the code-level crash statement precisely after Symbolization.
2. Symbolic crash logs require 3 things:
1). Crash log itself (for example: Example.crash)
1/Can get the Reports log for a regular user from itunes Connect (Manage Your applications–view details–crash Crash)
2/Your phone can be connected to itunes after syncing, view the crash file in your PC.
2). App package (e.g. Example.app) for crash log.
If you have a. IPA package, you can unzip it and get it under the payload/folder. App Pack
3). Crash log multiple corresponding. dSYM pack
The. App must correspond to. DSYM (when packaged as xcarchive).
Place the above three files under the same file directory:
3.symbolicatecrash is the tool that comes with Xcode, to make it easy to call, you can do a shortcut, easy to call under any path
First, under Termail, enter:
Find/applications/xcode.app-name Symbolicatecrash-type F
Used to find the real location of the Symbolicatecrash.
(This location will be updated with the system, the system changes)
Taking my machine for example, the following path is returned:
/applications/xcode.app/contents/sharedframeworks/dtdevicekitbase.framework/versions/a/resources/ Symbolicatecrash
The next step is to create a shortcut:
sudo ln-s/applications/xcode.app/contents/sharedframeworks/dtdevicekitbase.framework/versions/a/resources/ Symbolicatecrash/usr/local/bin/symbolicatecrash
4. Using Symbolicatecrash
Under Termail, enter the folder directory containing the Xxx.crash Xxx.app Xxx.dsym
Symbolicatecrash Xxx.crash Xxx.app > Crash.log
If you encounter an error "Developer_dir" is not defined, execute the following command:
Export Developer_dir=/applications/xcode.app/contents/developer
Get the signed file.
IOS Crash Log symbology