解决 ios crash 问题...
分析错误信息...通过crash地址分析到项目中对应的代码地方..
命令是:atos -arch armv7 -o PateoII 0x3cae11
方式:
1.找到打包程序的DYSM文件
这文件通常在.xcarchive文件中。 右键该文件, 然后通过Terminal工具cd到
cd /Users/beyondsoft/Library/Developer/Xcode/Archives/2014-11-21/PateoII 14-11-21 上午9.49.xcarchive/dSYMs/PateoII.app.dSYM/Contents/Resources/DWARF
两种方式获取xcarchive文件夹...一种是在手动找到“Xcode/Archives”下面文件...
一种是:在xcode中,archive成功后, 会在Organizer界面中的Archives下, 可以看到所有的archive文件, 右键Show in Finder可以找到这个文件
2。如果通过两种方式,都只找到dSYMs文件夹,里面什么也没有...那么需要重新打包...在打包之前在xcode中设置...
设置...选中项目名...在右边target中找到项目...在buildsetting中 搜索 debug info 把对应的debug information format 的值从DWARF改成DWARF with dSYM file..
3..找到对应错误的地址...使用命令...
atos -arch armv7 -o PateoII 0x3cae11
其中..."PateoII"是app 名, “0x3cae11”是地址
这样,在大多情况下,都是可以找到对应错误地方的信息的...
eg;
*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[2] (null) ( 0 CoreFoundation 0x2ded0ee3 <redacted> + 154 1 libobjc.A.dylib 0x3866bce7 objc_exception_throw + 38 2 CoreFoundation 0x2de0ecbf <redacted> + 534 3 CoreFoundation 0x2de0ea83 <redacted> + 50 4 PateoII 0x4adb1 PateoII + 290225 5 PateoII 0x48a29 PateoII + 281129 6 PateoII 0x162ef3 PateoII + 1437427 7 PateoII 0x162dbd PateoII + 1437117 8 PateoII 0x69551 PateoII + 415057 9 PateoII 0x69293 PateoII + 414355 10 libdispatch.dylib 0x38b54d53 <redacted> + 10 11 libdispatch.dylib 0x38b54d3f <redacted> + 22 12 libdispatch.dylib 0x38b576c3 _dispatch_main_queue_callback_4CF + 278 13 CoreFoundation 0x2de9b641 <redacted> + 8 14 CoreFoundation 0x2de99f0d <redacted> + 1308 15 CoreFoundation 0x2de04729 CFRunLoopRunSpecific + 524 16 CoreFoundation 0x2de0450b CFRunLoopRunInMode + 106 17 GraphicsServices 0x32d736d3 GSEventRunModal + 138 18 UIKit 0x30765871 UIApplicationMain + 1136 19 PateoII 0x9bcb3 PateoII + 621747 20 libdyld.dylib 0x38b69ab7 <redacted> + 2 ) dSYM UUID: 8370D419-C843-3BBC-A936-C58E921A14FA CPU Type: armv7 Slide Address: 0x00004000 Binary Image: PateoII Base Address: 0x00088000
测试结果...
BeyondsofttekiMac-mini:DWARF beyondsoft$ atos -arch armv7 -o PateoII 0x4adb1
-[NoticeDetailViewController showData:] (in PateoII) (NoticeDetailViewController.m:539)
BeyondsofttekiMac-mini:DWARF beyondsoft$