在我的iOS App中捕获这样的错误日志,什么原因

在我的iOS App中捕获这样的错误日志,什么原因,第1张

将产生错误日志的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

在行的最后面即可看到错误信息

由于你没有贴出代码,给你调试的办法

1、iTunes同步获取

大部分用户可能都会使用iTunes软件来管理iPhone或者iPad设备,这时候同步的Crash日志就会同步到电脑上,我们只需要在特定的路径里面寻找即可。

Mac OS X:~/Library/Logs/CrashReporter/MobileDevice

Windows XP:C:\Documents and Settings\Application Data\Apple

computer\Logs\CrashReporter

Windows 7/Vista: C:\Users\计算机登录名\AppData\Roaming\Apple

Computer\Logs\CrashReporter\MobileDevice

2、使用第三方软件:itools等

如果平时不用iTunes,而是使用itools这类第三方的软件对iPhone设备进行管理,也是没问题的。

拓什么情况下会产生崩溃日志

两种主要情况会产生崩溃日志:

1应用违反 *** 作系统规则。

2应用中有Bug。

违反iOS规则包括在启动、恢复、挂起、退出时watchdog超时、用户强制退出和低内存终止。

 方法:

1同步应用程序以后,找到你要查看的日志文件,日志文件对应mac的位置,xp\vista的位置

2发现日志文件都是看不懂的16进制,如何进行转换成我们看得懂的内容

3使用命令行工具 "symbolicatecrash"来进行转换,可以把 工具复制到任何地方都可以

调用的路径:sudo cp/Developer/Platforms/iPhoneOSplatform/Developer/Library/PrivateFrameworks/DTDeviceKitframework/Versions/A/Resources/symbolicatecrash /usr/local/bin/

4"symbolicatecrash" 工具怎么用一般只要:symbolicatecrash reportcrashMobileLinesappdSYM > report-with-symbolscrash,就可以了

5注意说明的是,你在用Xcode debug打包的时候,会生成两个东西,一个是XXXapp,另一个是XXXappdSYM,这两个是相对应的,与我写的第4点里的 MobileLinesappdSYM是对应起来的这里的日志文件必须是你打包的那个版本,不然就没有解析出你的日志文件了通俗的说,你安装到手机上的app和这个dSYM,是配对的,如果你想要看这个手机上的日志文件,那你必须保存对应的dSYM文件去解析日志文件每一次重新打包都会重新生成dSYM文件

6可以根据你的 report-with-symbolscrash,日志文件来看看你的程序哪里出问题了

一、先分析app的崩溃的分布情况 这个需要有(iTunes connect账号),通过分析可以查看到自己的app奔溃主要发生在那些机型上。 如果没有账号,别着急,直接走第二步。 二、打开xcode,下载崩溃日志,直接定位出问题代码行。

苹果手机崩溃日志怎么看?在iPhone手机上的软件发生闪退或开发iOS应用程序时出现的闪退,一般都会自己或系统生成崩溃日志,那么我们从哪里以及怎么获取到崩溃日志呢?

工具原料iPhone手机一台数据线一条Xcode开发工具(可选)

方法/步骤分步阅读

1

/5

0首先我们看看崩溃日志一般会存放在哪个目录。而由于iOS系统的沙盒机制,一般我们不能直接访问它获取,但可以有下面的几种方法获取。

2

/5

1在iTunes Store上获取。使用数据线连接手机和电脑,就可以从电脑的以下路径找到崩溃日志了。

macOS上:~/Library/Logs/CrashReporter/MobileDevice/< DEVICE_NAME \>

Windows上: C:/Users/< USERNAME > /AppDataRoamingApple/ComputerLogsCrashReporterMobileDevice/< DEVICE_NAME >

3

/5

2如果你是开发者,可以从iTunes Connect上获取。但前提需手机用户打开设置->隐私->诊断与用量的开关。

4

/5

3可以通过开发工具Xcode,数据线连接电脑获取。通过在Xcode->Window->Devices,然后选中真机设备,点击View Device Logs。等待扫描后获取对应应用和日期的日志。

5

/5

4如果是应用开发者,自己代码中记录崩溃日志,并上传到服务器,发生崩溃后从网站日志管理中获取对应的崩溃日志即可。

注意事项

如果是在iTunes Connect获取崩溃日志,则需要用户设置允许发送崩溃日志。

自己开发的机制,发生崩溃后需要再次打开应用上传日志文件。

下载adb工具包,相应的adb工具包会有很多,只要包含如图红框内三项即可使用;

用USB线连接手机与电脑,并确保手机打开USB调试功能,具体如何打开连接可参考下方链接中步骤。注意:若手机未连接成功打开软件后会显示(waiting for device)如图;

0vivoX9手机怎么与电脑连接

3

录制过程,有两种方法。第一种方法是直接从工具包文件夹中自带的程序进入 *** 作界面,如图即可开始 *** 作手机APP,红色划线部分为抓取日志文档(系统默认)初始大小为0KB,会自动记录;

4

第二种方法是从运行中调用命令,这里要求将adb工具包尽量放在电脑磁盘根目录下(安装包名称尽量使用英文),方便调用。本文adb工具包放在D盘根目录下,可用命令cd d:\adb进行调取,调取完成后输入:

打印应用程序的log

PS:1,详细相关 *** 作命令如图示;2,划红线部分为log日志需要保存到的文档名称,初始大小为0KB。

以上就是关于在我的iOS App中捕获这样的错误日志,什么原因全部的内容,包括:在我的iOS App中捕获这样的错误日志,什么原因、ios崩溃日志在哪、苹果手机重启日志怎么看等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9350978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存