国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

iOS系統Crash文件 分析方法

2019-11-02 14:35:17
字體:
來源:轉載
供稿:網友

   Xcode 4.3的symbolicatecrash的位置和老版本的不一致了。

  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/

  Xcode 4.3之前

  /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

  一. 問題的產生

  在xcode的Window->Orgnizer->Device Logs里面可以看到連著的iphone(ipad)設備上面程序crash的記錄,但設備上的一個crash記錄只能同步一次,

  一旦在某臺Mac上查看了Device Logs,設備上的crash文件就都會放到這臺Mac上。

  從Device Logs里面看crash文件,會發現有時候崩潰的信息里面有代碼的函數名,有時候卻只有函數地址(如下),這個是怎么回事呢?

  Thread 0 Crashed:

  0 libobjc.A.dylib 0x300c87ec 0x300bb000 + 55276

  1 MobileLines 0x00006434 0x1000 + 21556

  2 MobileLines 0x000064c2 0x1000 + 21698

  3 UIKit 0x30a740ac 0x30a54000 + 131244

  4 UIKit 0x30a66110 0x30a54000 + 74000

  5 UIKit 0x30a6565c 0x30a54000 + 71260

  6 GraphicsServices 0x3169b0b4 0x31696000 + 20660

  7 GraphicsServices 0x3169d818 0x31696000 + 30744

  8 IOMobileFramebuffer 0x31f3e8f8 0x31f3d000 + 6392

  9 com.apple.framework.IOKit 0x30f342b8 0x30f30000 + 17080

  10 CoreFoundation 0x3025ced4 0x30229000 + 212692

  11 CoreFoundation 0x3025bed6 0x30229000 + 208598

  12 CoreFoundation 0x3025b584 0x30229000 + 206212

  13 GraphicsServices 0x316998e4 0x31696000 + 14564

  14 UIKit 0x30a5e308 0x30a54000 + 41736

  15 UIKit 0x30a671dc 0x30a54000 + 78300

  16 MobileLines 0x00002090 0x1000 + 4240

  17 MobileLines 0x0000202c 0x1000 + 4140

  二. 問題的原因

  其實這里關系到編譯后的兩個文件:MyApp.app以及MyApp.app.dSYM,如果崩潰的程序正好是這臺Mac編譯出來的話,并且對應的同時

  編譯出來的app和dSYM文件還在build目錄下的話(即還沒編譯過其他更新的版本),Orgnizer會把crash文件的函數名解析出來,如果沒了的話,就是

  光禿禿的地址了,這個時候即使拿同樣的代碼再次編譯,也不能解析出代碼信息來了,所以發布的版本一定要保留.app和.dSYM文件。

  三. 解決的方法

  如果出現了只有地址的情況,只要.app和.dSYM文件還在的話,symbolicatecrash工具就可以把對應的函數名解析出來。 具體使用symbolicatecrash工具

  和.app及.dSYM文件,解析函數名的方法如下:

  1. 新建一個專門的目錄進行解析處理,如: /crash

  2. 把symbolicatecrash工具從原來的位置拷貝到/crash。因為在framework里面finder不能直接

兄弟網名[www.la240.com/html2017/1/35/]
進去,可以用命令行工具進行拷貝,命令如下:

  $ cp /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash /crash

  3. 把對應的.app和.dSYM文件拷貝到/crash,再把需要解析的crash文件也拷貝到/crash

  4. 假設crash文件是MyApp_2011-xxx-iPad.crash, .dSYM文件是MyApp.app.dSYM,然后把MyApp.app也和MyApp.app.dSYM文件放在一起,再使用如下命令進行解析:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安阳县| 高陵县| 云浮市| 汝阳县| 清苑县| 大田县| 任丘市| 呼伦贝尔市| 台安县| 西华县| 阿尔山市| 八宿县| 苗栗市| 哈密市| 龙陵县| 蚌埠市| 定安县| 册亨县| 西昌市| 邛崃市| 溧阳市| 嫩江县| 天峻县| 额尔古纳市| 晋州市| 广宁县| 离岛区| 光泽县| 天台县| 周口市| 永福县| 贵港市| 缙云县| 房产| 白水县| 宜宾市| 搜索| 公主岭市| 惠州市| 上栗县| 无为县|