这时候我们就需要根据符号表来监测奔溃位置
什么是符号表
符号表就是指在Xcode项目编译后,在编译生成的二进制文件app的同级目录下生成的同名的dSYM文件。
dSYM文件其实是一个目录,在子目录中包含了一个16进制的保存函数地址映射信息的中转文件,所有Debug的symbols都在这个文件中(包括文件名、函数名、行号等),所以也称之为调试符号信息文件。
如何得到dsYM文件
我们在Archive的时候会生成xcarchive文件,然后显示包内容就能够在里面找到dsYM文件和app文件。
如何使用dsYM
如果是使用友盟的话,我们能在错误列表里看到一些错误,然后可以导出奔溃信息,导出的文件为csv文件。友盟有一个分析工具,使用那个工具可以看到一些错误的函数,行号等。但是很容易分析失败,不知道为什么?
注意:使用的时候要确保你的xcarchive在 ~/Library/Developer/Xcode/或该路径的子目录下。
xcarchive里的dsYM文件和app文件是有对应的UUID的。然后你的错误详情里也是有UUID,只有当UUID相等时才能分析对。
我犯的错误:因为我们是两个人开发,Archive的时候都是在另一个人的电脑上Archive的,所以我的电脑里根本没有对应的xcarchive文件。所以我在我电脑上用友盟的分析工具分析是时候是监测不出来错误的。问过我ITJob朋友后回答的,希望能帮到你
一、先分析app的崩溃的分布情况 这个需要有(iTunes connect),通过分析可以查看到自己的app奔溃主要发生在那些机型上。 如果没有,别着急,直接走第二步。 二、打开xcode,崩溃日志,直接定位出问题代码行。
有几种方法可以从设备上获取崩溃日志。
设备与电脑上的iTunes Store同步后,会将崩溃日志保存在电脑上。根据电脑 *** 作系统的不同,崩溃日志将保存在以下位置:
Mac OS X:~/Library/Logs/CrashReporter/MobileDevice/
Windows XP: C:Documents and Settings<USERNAME>Application DataApple ComputerLogsCrashReporterMobileDevice<DEVICE_NAME>
Windows Vista or 7: C:Users<USERNAME>AppDataRoamingApple ComputerLogsCrashReporterMobileDevice<DEVICE_NAME>
当用户抱怨闪退时,你可以要求他让设备与iTunes同步,并根据 *** 作系统的不同,到上述位置把崩溃日志下载下来,然后通过电子邮件发送给你。
你必需尽量获取用户设备生成的所有崩溃日志。因为崩溃日志越多,就越容易诊断问题所在!
另外,如果你装了Xcode,也能很容易通过Xcode从你的设备上获得崩溃日志。将iOS设备连接到电脑上,然后打开Xcode。从菜单栏上选择 Window 菜单, 然后选择 Organizer (快捷方式是 Shift-CMD-2)
在 Organizer 窗口上, 选中 Devices 标签栏 在左侧的导航面板上,选中 Device Logs,
应用提交到App Store后,你也能从 iTunes Connect 获取到用户的崩溃日志 登录到 iTunes Connect 上, 选择Manage Your Applications, 点击相应的应用, 点击应用图标下面的 View Details 按钮, 然后点击右栏Links部分的 Crash Reports 。
将产生错误日志的App的app和dSYM复制到某个指定目录
控制台进入目录
分别输入:
dwarfdump --uuid YourAppapp和warfdump --uuid YourAppappdSYM查看UUID是否与日志上的UUID一致
解释内存地址
Thread 0 Crashed:
0 libobjcAdylib 0x00003ec0 objc_msgSend + 24
1 MyApp 0x000036d2 0×1000 + 9938
我们得到了用户发生崩溃情况的内存地址:0x000036d2
命令行输入:dwarfdump –-arch armv6 MyAppappdSYM --lookup 0x000036d2 --debug-info
在行的最后面即可看到错误信息
由于你没有贴出代码,给你调试的办法
将产生崩溃的设备连接到PC,打开iTunes, 等待iTunes同步Crash日志完成
Mac机器打开Finder,进入~/Library/Logs/CrashReporter/MobileDevice目录
Widnows机器进入C:\Users\<user_name>\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice
Windows XP进入C:\Documents and Settings\<user_name>\Application Data\Apple computer\Logs\CrashReporter
在上述目录中找到以设备名命名的文件夹中,过滤以DCloud_Pandora 开始的文件,根据产生Crash的时间确定Crash的日志文件
以上就是关于ios 怎么查看崩溃日志全部的内容,包括:ios 怎么查看崩溃日志、itools崩溃日志怎么看 ios crash的原因与抓取crash日志的方法、ios 手机应用 崩掉用什么工具抓取log等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)