debugging Unity闪屏后游戏崩溃-无法在日志中找到stacktrace

6ju8rftf  于 2023-01-31  发布在  其他
关注(0)|答案(1)|浏览(361)

请注意:我不是一个专业的开发人员,可能需要更详细的说明如何获得所需的信息
我正在开发一款手机游戏,目前名为EndlessTD,使用Unity3D 2022. 2. 4 F1。在测试过程中,它曾经在Bluestacks和我运行MIUI 12. 5. 1和Android 11的Mi9T Pro中运行良好。开发者选项处于活动状态,手机通过USB连接到我的PC并显示"USB调试已开启"。
虽然它仍然在我的Windows机器上的编辑器中没有错误地工作,但显然,我搞砸了一些事情,现在游戏在Unity闪屏后立即崩溃,当时它应该加载我的场景。
崩溃日志:

01-29 02:23:27.465  2748  2796 E CRASH   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-29 02:23:27.465  2748  2796 E CRASH   : Version '2022.2.3f1 (55531d7fa82e)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
01-29 02:23:27.465  2748  2796 E CRASH   : Build fingerprint: 'Xiaomi/raphael_eea/raphael:11/RKQ1.200826.002/V12.5.1.0.RFKEUXM:user/release-keys'
01-29 02:23:27.465  2748  2796 E CRASH   : Revision: '0'
01-29 02:23:27.465  2748  2796 E CRASH   : ABI: 'arm64'
01-29 02:23:27.465  2748  2796 E CRASH   : Timestamp: 2023-01-29 02:23:27.465468704+0100
01-29 02:23:27.465  2748  2796 E CRASH   : pid: 2748, tid: 2796, name: UnityMain  >>> com.EndlessRageLimited.EndlessTD <<<
01-29 02:23:27.465  2748  2796 E CRASH   : uid: 10467
01-29 02:23:27.465  2748  2796 E CRASH   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr --------
01-29 02:23:27.465  2748  2796 E CRASH   : Cause: null pointer dereference
01-29 02:23:27.465  2748  2796 E CRASH   :     x0  0000006ff01b7d30  x1  0000000000000000  x2  0000000000000000  x3  00000070175dcad0
01-29 02:23:27.465  2748  2796 E CRASH   :     x4  00000000000002ae  x5  00000070175dcad0  x6  00000000000003e9  x7  000000000000004d
01-29 02:23:27.465  2748  2796 E CRASH   :     x8  0000000000000000  x9  8000000000000000  x10 8000000000000000  x11 0000000000000000
01-29 02:23:27.465  2748  2796 E CRASH   :     x12 0000000000000001  x13 ffffffffffe00000  x14 fffffc00001fffff  x15 0000000000000000
01-29 02:23:27.465  2748  2796 E CRASH   :     x16 0000000000000001  x17 0000000000000000  x18 0000006fd1d7b638  x19 0000006ff01b7d30
01-29 02:23:27.465  2748  2796 E CRASH   :     x20 0000000000000000  x21 00000070185b1000  x22 0000006fd23111f8  x23 0000000000000000
01-29 02:23:27.465  2748  2796 E CRASH   :     x24 0000007015202000  x25 0000000000000000  x26 0000007015202000  x27 0000006f21abd610
01-29 02:23:27.465  2748  2796 E CRASH   :     x28 0000000000000001  x29 00000070151ffdd0
01-29 02:23:27.465  2748  2796 E CRASH   :     lr  0000007017a330b8  sp  00000070151ffd20  pc  0000000000000000  pst 00000000a0000000

我的常用生成设置:

由于这是我第一次处理这个问题,我相当困惑:

  • 我最近将Unity从2022. 2. 3 f1升级到2022. 2. 4 f1,所以我再次尝试使用2022. 2. 3 f1,但错误仍然存在。Unity编辑器版本似乎不是问题所在。
  • 由于这款游戏已经在Google Play上进行了内部测试,我在测试-〉预发布报告-〉详细信息-〉稳定性-〉崩溃和ANRs下找到了报告。遗憾的是,堆栈跟踪是"检测到致命的AndroidRuntime异常"和"com. EndlessRageLimited. EndlessTD的本机崩溃"。我不知道该如何处理这些信息。

所以更多的挖掘,似乎从互联网上的帖子,人们通常有一个堆栈跟踪或回溯。我不,我不明白为什么。
在日志文件中,有多条关于无法加载调试器的消息:

.android.camer: Not starting debugger since process cannot load the jdwp agent.

StackOverflow上的Here,建议执行adb reverse tcp:8081 tcp:8081,但这不会改变任何内容。
另一个网站建议在开发者选项中启用Wait for debugger,但是这个选项对我来说是灰色的。
StackOverflow和其他页面上的其他帖子也没有帮助我找到解决方案。我错过了什么吗?
我在命令提示符中感知到的adb logcat的相关输出是here可用的。如果我解释正确,它会在应用程序启动时启动。

    • 我现在设法使用Run deviceBuild to device获得堆栈跟踪**,在启用Development BuildAutoconnect ProfilerDeep Profiling SupportScript debugging的情况下命中Patch and Run。堆栈跟踪在here可用

可悲的是,我找不到任何关于它崩溃原因的具体信息。在stacktrace实用程序上做了stubeling并添加了il2cpp和mono的符号之后,我最终得到了这个已解决的stacktrace here
有人能给我一些提示吗?我可以做些什么来获得更多关于游戏崩溃原因的信息?自从上次在手机上测试以来,我得到了大约30个提交,回滚将意味着重新应用几天的工作:S谢谢!!!

uinbv5nw

uinbv5nw1#

在我的git历史记录中反复查看之后,我决定使用git clean -fdx来查看我的计算机端是否有什么东西出错了。
虽然我仍然不知道是什么原因导致了这个问题,但至少我用Unity调试了Android游戏,学到了一些新东西:)

相关问题