ios - 如何修复 Thread 1: EXC_BAD_ACCESS (code=1, address=0x52879984) 在我的 appdelegate 上?
问题描述
我正在为 IOS 应用商店制作一款简单的游戏。到目前为止,游戏一直运行良好。突然,我遇到了一个错误:当我在我的 iPhone 5s 上玩了一小段时间然后我按 home 键返回主菜单然后重新进入游戏时,它会崩溃并出现此错误应用程序代表:
线程 1:EXC_BAD_ACCESS(代码=1,地址=0x52879984)。
游戏很好,直到我尝试重新进入游戏,应用程序进入前台后崩溃。
这不会发生在其他设备上,例如我的 Iphone 7。我已经对其进行了研究,我相信这可能与我的内存分配有关,因为我根本没有费心管理内存,希望 swift 和 spritekit 可以对其进行排序对我来说,因为它是一个简单的游戏。
我曾尝试在应用程序崩溃之前对其进行断点并检查似乎存在的变量。我已经尝试完全擦除 UIApplication.didEnterBackgroundNotification 中的游戏场景并在 willEnterForegroundNotification 中创建一个新的游戏场景,但无济于事。
我在方案中打开了地址清理诊断工具,控制台打印出:
==2288==错误:AddressSanitizer:negative-size-param:(size=-1377549668)#0 0x7435c8 in wrap_memset (/var/containers/Bundle/Application/5AF965C7-7D31-4B7B-97D2-5DBA7BEDCA9E/xxxxxx.app/ Frameworks/libclang_rt.asan_ios_dynamic.dylib:armv7s+0x175c8) 地址0x528e4908位于高阴影区。摘要:AddressSanitizer:wrap_memset(lldb)中的负大小参数(/var/containers/Bundle/Application/5AF965C7-7D31-4B7B-97D2-5DBA7BEDCA9E/xxxxxx.app/Frameworks/libclang_rt.asan_ios_dynamic.dylib:armv7s+0x175c8)
并且错误更改为
线程 1:EXC_BAD_ACCESS(代码=2,地址=0x4a51c740)
我的 appdelegate 只是基本的,我有一个基本的游戏视图控制器,它在 viewdidload 函数中创建一个游戏场景。
在这种情况下,游戏曾经按预期工作:适当地暂停。
帮助将不胜感激。:)
解决方案
推荐阅读
- azure - 错误:无法访问密钥保管库引用元数据
- react-native - 设置值后更改 React Native 状态
- javascript - 当事件的渲染选项等于背景时,完整日历工具提示无法正常工作
- cpu-architecture - 如何为向量乘法编写 MIPS 代码
- r - 在 R 的 for 循环中创建多个更改名称的函数
- android - 当我在 gradle 中使用库时,我不断得到 Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath'
- android - 无法在 ViewPager2 中使用 androidx.fragment.app.FragmentManager
- mysql - 如何在 mysqlsh importTable util 中跳过/虚拟列?
- java - 有什么方法可以知道在 Spring 中来自父类时使用什么 bean?
- javascript - 如何在 chartjs 中实现“自动跳过”功能?