美文网首页
iOS Monkey自动化测试崩溃地址符号化

iOS Monkey自动化测试崩溃地址符号化

作者: f0b693d9893e | 来源:发表于2019-07-08 16:46 被阅读0次
    最近公司测试组同事在用Monkey搞iOS自动化测试,期间产生一些崩溃信息,反馈到开发这边都是.ips文件。.ips文件的都是一些堆栈地址,无法定位到我们应用的某一行。而且在bugly和友盟上的崩溃信息也是同样(已上传dYSM文件),没办法,只能自己去解析崩溃信息文件了。。。
    这个转化的过程有一个专业术语,叫符号化,就是讲这些堆栈地址转化为我们可识别的一些类名、方法名等符号信息。
    符号化前.png 符号化后.png

    网上一般说是有两种方法:

    1、命令行解析ips
    2、使用Xcode解析ips/crash。
    我主要采用的是第一种方法:利用命令行解析ips。

    操作的过程如下:

    1、获取.xcarchive文件。

    我们打包时的.xcarchive文件,具体获取方法是打开xcode,点击 【window】 --> 【Organizer】,进入到我们打包Archives的管理界面,这个界面有我们之前打的包的所有记录,选择测试App对应的App以及打包的版本,单击选中的Archive选择 show in Finder,然后将对应的.xcarchive文件拷贝出来,放在桌面。

    2、具体的解析过程(需要命令行操作)

    2.1 在桌面上新建一个文件夹,命名随意即可,我这里叫signifying
    2.2 拷贝崩溃信息的.ips文件放到signifying文件夹中,并将.ips文件后缀名修改为.crash
    2.3 前往文件夹 【/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash】,找到symbolicatecrash。然后把symbolicatecrash拷贝到signifying文件夹中。

    屏幕快照 2019-07-08 下午3.56.34.png
    2.4 从.xcarchive文件里,右键点击【显示包内容】,从Products/Applications里面拷贝.app文件(这里可能没有后缀,直接拷贝Applications文件夹内的文件),放到signifying文件夹中。
    2.5 同样右键点击【显示包内容】,拷贝dSYM文件下的AppID.dSYM文件(这里可能有很多.dSYM文件,选择你App的AppId对应的“你应用的AppID.dSYM”),放到signifying文件夹中。 2.4-2.5
    此时,你会看到你桌面的文件夹下有下图四个文件: 屏幕快照 2019-07-08 下午4.08.27.png
    2.6 打开终端,cd到signifying文件夹中
    2.7 输入命令 ./symbolicatecrash "crash文件的绝对路径""dSYM的绝对路径" > signifying.crash ,敲回车键。

    Tips:(如果2.7步骤之后,终端报错 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69...。终端中再输入export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer",回车,然后再次输入2.7步骤中的命令,回车即可)。

    这个时候你会发现你的signifying文件夹中多了一个signifying.crash文件,它就是我们开头提到的符号化之后的文件,就可以看到具体是哪个类,哪一行崩溃的信息了。大概步骤及过程就是这样。


    终端命令.png

    相关文章

      网友评论

          本文标题:iOS Monkey自动化测试崩溃地址符号化

          本文链接:https://www.haomeiwen.com/subject/ohtahctx.html