ios crash Application received signal SIGSEGV 通過crash 地址找到源碼地址



解決 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$

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章