This document is reproduced to http://blog.csdn.net/lvxiangan/article/details/28102629 using. dSYM and. App files to locate crash location accurately
First, ensure that the corresponding Xxx.app and Xxx.dsym files are saved in a version of release (Ad hoc or app Store).
Second, verify that the UUID of Xxx.crash, Xxx.app, and Xxx.dsym are the same.
Verification Method:
1) Check the UUID of the Xxx.app.
[Plain]View Plaincopy
- $ dwarfdump--uuid Mobileguard.app/mobileguard
2) Check the UUID of the xxx.dsym.
[Plain]View Plaincopy
- $ dwarfdump--uuid Mobileguard.app.dsym/contents/resources/dwarf/mobileguard
3) Xxx.crash.
Note:
Before this, you need to find the corresponding app and dSYM files. These two files are in the suffix. archive file, on my machine (Mac OS 10.9.1,xcode5.0.2), the. Archive file is in the "/users/mikelin/library/developer/xcode/ Archives/folder, you can also find a corresponding Archive package from Xcode > Organizer > Archive.
Make sure that the three UUID is consistent, and use the Symbolicatecrash tool to generate readable log information.
Prepare the Environment first:
1) Link Symbollicatecrash to/usr/bin/, you can use the Sybollicatecrash command directly.
[Plain]View Plaincopy
- $ ln-s/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/library/ Privateframeworks/dtdevicekitbase.framework/versions/a/resources/symbolicatecrash/usr/bin/symbolicatecrash
2) set up Xcode developer_dir.
[Plain]View Plaincopy
- Export developer_dir= "/applications/xcode.app/contents/developer"
Then execute the command:
[Plain]View Plaincopy
- Symbolicatecrash M.crash Mobileguard.app.dSYM > N.crash
Next is the most important part:
[Plain]View Plaincopy
- $ xcrun atos-arch armv7-o Mobileguard.app/mobileguard 0x00037000
Here's what I see on my machine:
[Plain]View Plaincopy
- $ xcrun atos -arch armv7 -o mobileguard.app/ mobileguard 0x00037000
- -[mobilelocationviewctrl viewdidload] (in Mobileguard) (mobilelocationviewctrl.m:56)