android crash日志怎么分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android crash日志怎么分析相关的知识,希望对你有一定的参考价值。
这种方法比较麻烦,但内容要详细些ios程序在崩溃的时候会在设备以下路径自动生成日志
/Library/Logs/CrashRepoter
用ITUNES同步后这个文件会自动复制到电脑里(未验证过,我现在设备是越狱的,都是直接看设备里的文件)MAC~/Libary/Logs/CrashRepoter/MobileDevicewindows 7c:\Users\<user name\Appdata\roaming\apple computer\logs\crashreporter\mobiledevice\
这个plist文件用记事本打开,是无法看明白的.需要配套的.dsym文件(这是符号文件,可以帮助你翻译错误内容和地址)
默认这个文件在类似以下位置
/Users/ljw/Library/Developer/Xcode/DerivedData/APSIOS-ekmcahprvecdgldkiddssvibzvlu/ArchiveIntermediates/APSIOS/BuildProductsPath/Release-iphoneos
其中APSIOS是你的程序名
这时可以用symbolicatecrash程序来查看日志,这个程序在/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources下
在终端里运行
就可以看到比较详细的崩溃日志了.
.------------------------------
Last Exception Backtrace:
0 CoreFoundation 0x37f808bf __exceptionPreprocess + 163
1 libobjc.A.dylib 0x37acc1e5 objc_exception_throw + 33
2 CoreFoundation 0x37f83acb -[NSObject doesNotRecognizeSelector:] + 175
3 CoreFoundation 0x37f82945 ___forwarding___ + 301
4 CoreFoundation 0x37edd680 _CF_forwarding_prep_0 + 48
5 APSIOS1 0x0003e56b -[PhotoSync GetFiles:] (PhotoSync.m:203)
6 APSIOS1 0x0003eb05 -[PhotoSync DownloadPhotoFromMachineThread:] (PhotoSync.m:320)
7 Foundation 0x35225a91 -[NSThread main] + 73
8 Foundation 0x352b95a1 __NSThread__main__ + 1049
9 libsystem_c.dylib 0x37a44c1d _pthread_start + 321 参考技术A 原始的方法都比较麻烦了,现在有很多的崩溃捕捉工具,可以都快速的定位崩溃堆栈详情,同时日志也会一并上报的,现在比较新的工具是Bugout,一些别工具还有bugly、bugtags和bugclos,你可以筛选一下,哪个适合你。
Android 巧用 adb logcat 工具查看丢失的 app crash 数据
Android App 运营期间发生崩溃是在所难免的事情,问题在于如何获取崩溃日志,进而分析解决问题。
开发调试阶段可以通过 Android Studio 的 Logcat 窗口获取必现的 crash 日志信息,如果不是必现的,或者不能通过开发工具显示的,怎么办呢?可以尝试 dump 操作,通过 adb logcat
命令获取手机设备本地的 log 信息。
App 运行期间的系统日志、错误堆栈和应用本身通过 Log 类打印出的消息,都可以通过 adb logcat 命令导出到电脑上查看,命令格式类似:
./adb logcat > /Users/ccsa/logcat.txt
箭头(>)符号表示导出,后面路径表示导出到电脑上的文件,没有的话会自动创建。
运行这个命令时不会自动退出,Linux 环境可以通过 control + C 快捷键推出当前命令。
值得注意的是,logcat 日志缓冲区是有大小限制的,可以通过 -g 参数查看:
./adb logcat -g
因此,如果可以重复操作稳定复现 crash 信息的话,可以在 crash 复现操作执行前,通过 -c 命令清空日志缓冲区:
./adb logcat -c
Logcat 命令行工具还有很多参数可以设置,甚至可以直接运行 adb logcat
命令通过命令行工具查看实时 log 信息。更多设置参考官网文档介绍:
https://developer.android.com/studio/command-line/logcat?hl=zh-cn
推荐阅读:如何像 IDE 一样浏览 GitHub 网站的项目?
又发现一个挣零花钱的方式简直是搜索引擎界的新起之秀,你值得拥有!
长按识别二维码,关注我,一名爱叨叨的程序员
以上是关于android crash日志怎么分析的主要内容,如果未能解决你的问题,请参考以下文章
苹果手机crash日志怎么用symbolicatecrash分析