首页 > 解决方案 > 如何修复 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 函数中创建一个游戏场景。

在这种情况下,游戏曾经按预期工作:适当地暂停。

帮助将不胜感激。:)

标签: iosswiftxcodesprite-kit

解决方案


推荐阅读