Unity中安卓崩溃日志处理记录

这篇具有很好参考价值的文章主要介绍了Unity中安卓崩溃日志处理记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:如果发生问题的设备在手边,则可以通过ADB 命令连接手机,获取到设备发生时的日志

adb.exe 在(SDK\platform-tools),也可以添加到环境变量PATH中使用,

使用cmd命令行连接设备:

adb connect 127.0.0.1:5555(Ip地址:端口号 一般为5554或者5555)

获取设备的所有日志及当前的日志: adb logcat -v time > d:\myLog.txt  ctrl+c停止获取

获取某个时间之后的日志: adb logcat -t "2023-6-30 09:10:00.001" >d:/logs/aa.txt

可以将日志输出到电脑中

2:接入firebase.Crashlytics,可以收到APP上线后的崩溃和ANR时发生的堆栈信息,

Unity打包时需要选择BuildSettings->Create symbols.zip Debugging或者Public,这样可以获得symbols文件,当Crashlytics中获取到堆栈信息的时候可以通过工具查看堆栈信息的具体函数

如:堆栈信息:

#00 pc 0x22af08 libunity.so (libunity.0x22af08) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#01 pc 0x33b5d9 libunity.so (libunity.0x33b5d9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#02 pc 0x3f4a1f libunity.so (libunity.0x3f4a1f) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#03 pc 0x3f510d libunity.so (libunity.0x3f510d) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#04 pc 0x28d8a7 libunity.so (libunity.0x28d8a7) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#05 pc 0x28d8c9 libunity.so (libunity.0x28d8c9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#06 pc 0x28da5b libunity.so (libunity.0x28da5b) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#07 pc 0x3a9cab libunity.so (libunity.0x3a9cab) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#08 pc 0x3b91a5 libunity.so (libunity.0x3b91a5) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#09 pc 0x2a82941 base.odex (base.0x2a82941)

然后通过NDK工具可以解析为具体函数:

查看堆栈日志:

32位:

D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin

命令:arm-linux-androideabi-addr2line -f -C -e .\symbols\armeabi-v7a\libunity.so 0x3b91a5

64位:

D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin

命令:aarch64-linux-android-addr2line -f -C -e .\symbols\armeabi-v7a\libunity.so 0xbd1e44

其实谷歌有提供上传symbol文件的功能,这样在解析的时候就可以直接获得可以看懂的日志

Unity提供了一个插件:

配合以下正则也可以捕获Firebase的堆栈:

\s*#\d{2}\s*pc\s(?<address>0x[a-fA-F0-9]+).*(?<libName>lib.*)\.so

unity crash 日志,android,unity文章来源地址https://www.toymoban.com/news/detail-527406.html

到了这里,关于Unity中安卓崩溃日志处理记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 获取奔溃crash的日志(adb logcat或者dropbox)

    1.通过adb logcat 来获取 : 使用场景 :测试或者开发小伙伴 抓取。 先执行 adb logcat -c 清理缓存日志 接着,抓取当前时间段开始的日志: adb logcat -v time D:/crash.log 也可以抓取指定进程的日志: adb logcat -v time | find \\\"com.xxx\\\" D:/crash.log 其中 -v 和 time 是指log的v级别日志,也可用w 警告

    2024年02月08日
    浏览(45)
  • 三次蓝屏对内核崩溃日志的分析记录

    //后跟的所有内容都是针对下一行具体项的具体解释 Microsoft ® Windows Debugger Version 6.12.0002.633 AMD64 Copyright © Microsoft Corporation. All rights reserved. Loading Dump File [C:WindowsMinidump103021-8359-01.dmp] Mini Kernel Dump File: Only registers and stack trace are available Symbol search path is: SRV C:Symbols http://msdl

    2024年02月05日
    浏览(31)
  • Android崩溃日志获取方式

    在日常测试安卓的app时,经常会遇到崩溃问题,于是经常需要获取崩溃日志。 一、通过adb logcat获取 二、通过Android Studio 三、通过adb shell dumpsys dropbox命令获取 四、获取ANR日志​​​​​​​ 常见异常​​​​​​​ 欢迎关注我的公众号【测试开发备忘录】,一起沟通交流~

    2024年02月11日
    浏览(38)
  • Android Native crash触发原理及处理

    当程序执行以下操作,会触发native crash: 1)程序自己调用 abort() 函数触发,用于表示出现严重的错误或异常情况,需要终止程序执行 2)内存对齐错误或非法地址访问 3)零除错误(除数为零),浮点溢出或下溢出等 4)使用了非法的机器指令或指令参数不当而导致 5)进程试

    2024年01月15日
    浏览(25)
  • Unity发布Android平台错误记录

    注释掉android.enableR8= MINIFY_WITH_R_EIGHT 打包就可以了 NDK小版本问题不对 如果是大版本问题直接下载对应版本的NDK,如果是小版本就行下图遮掩解决,找到ndk目录,直接修改小版本和报错需要请求的版本可能能解。 (1)在E:Androidandroid-sdk-windowsbuild-tools32.0.0拷贝d8.bat文件,修改

    2024年02月11日
    浏览(31)
  • Unity导出Android项目踩坑记录

    如果unity的ndk版本和android项目里的ndk版本不一致会报错,让人很崩溃的 谷歌市场不支持64位arm不让通过审核,单纯的配置ndk:

    2024年01月21日
    浏览(42)
  • 接入穿山甲SDK时,Unity打Android包报错日志

    一、接入SDK过程: 1、新建一个空工程,设置包名为:com.ceshi.hewen,正常打包无报错,导出unitypackage。 2、将unitypackage导入包名为:com.DefaultCompany.Myproject的另一个工程,打包报错。 二、报错如下: 三、报错原因: 两个工程 Enable Android Auto-resolution 设置不一致。SDK工程设置为

    2024年02月12日
    浏览(29)
  • Unity-Android 打包报错记录

    1.使用srp渲染管道后 打包时勾选 Development Build 时 报错 :ArgumentNullException:Value Cannot be null :Parament name :_unity_self :  at UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera() 原因: 解决办法:删除这个脚本中的宏或者反选 Development Build  

    2024年01月18日
    浏览(25)
  • Unity适配Android12所遇到的坑记录

    unity项目将targetSdk升级至32 遇到启动黑屏、热更新失效的问题 1、项目中舍弃了unity自带的splash(毕竟功能有限) 在Java层新加了SplashView Activity 升级到12后当需要切换到unity activity的时候,无法触发unity的OnApplicationPause以及OnApplicationFocus函数。 然后就无法执行后边的逻辑直接黑屏…

    2024年02月13日
    浏览(24)
  • HiveServer2 Service Crashes(hiveServer2 服务崩溃)

    Troubleshooting Hive | 5.9.x | Cloudera Documentation 1.hive分区表太多(这里没有说具体数量。) 2.并发连接太多,我记的以前默认是200个连接  3.复杂的hive查询访问表的的分区 4.hs2实例数太少 如果存在这些情况中的任何一种,Hive可能运行缓慢,或者可能崩溃,因为整个HS2堆内存已满。 S

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包