iPhone 模拟器启动时的 EXC_BAD_ACCESS。应用程序在设备上运行

Posted

技术标签:

【中文标题】iPhone 模拟器启动时的 EXC_BAD_ACCESS。应用程序在设备上运行【英文标题】:EXC_BAD_ACCESS on iPhone Simulator start. App works on device 【发布时间】:2011-07-16 19:00:09 【问题描述】:

我正在尝试在 iPhone 模拟器中测试我的应用,因此我点击了“运行”按钮。它显示初始默认启动屏幕,但随后崩溃并出现 EXC_BAD_ACCESS 错误。

错误看起来像是来自某些启动例程。

调试器将这两行作为错误指向我:

0x8fe0f316  <+0276>  je     0x8fe0f342 <__dyld__ZN16ImageLoaderMachO12bindLocationERKN11ImageLoader11LinkContextEmmPKS0_hPKclS7_+320>
0x8fe0f318  <+0278>  mov    %edx,(%edi)

回溯只显示以下正在执行的函数:

#0  0x8fe0f318 in __dyld__ZN16ImageLoaderMachO12bindLocationERKN11ImageLoader11LinkContextEmmPKS0_hPKclS7_ ()
#1  0x8fe15ee3 in __dyld__ZN26ImageLoaderMachOCompressed6bindAtERKN11ImageLoader11LinkContextEmhPKchliS5_PNS_10LastLookupE ()
#2  0x8fe218ff in __dyld__ZN26ImageLoaderMachOCompressed8eachBindERKN11ImageLoader11LinkContextEMS_FmS3_mhPKchliS5_PNS_10LastLookupEE ()
#3  0x8fe22c42 in __dyld__ZN26ImageLoaderMachOCompressed6doBindERKN11ImageLoader11LinkContextEb ()
#4  0x8fe0cc32 in __dyld__ZN11ImageLoader13recursiveBindERKNS_11LinkContextEb ()
#5  0x8fe0dea3 in __dyld__ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE ()
#6  0x8fe056af in __dyld__ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE ()
#7  0x8fe0788d in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ ()
#8  0x8fe018b1 in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl ()
#9  0x8fe01057 in __dyld__dyld_start ()

我已经重新启动了 Xcode,做了一个 make clean 等等。该应用程序在设备上正常启动。有什么想法吗?

【问题讨论】:

您是否在使用任何可能未针对 x86 编译的静态库? 我不知道。我正在使用标准框架和 cocos2d。据我所知,不是静态库。 【参考方案1】:

EXC_BAD_ACCESS 通常暗示你正在发布一些已经发布的东西。您可以通过将NSZombieEnabled 标志添加到您的环境来了解更多信息。

【讨论】:

嗯...MachOImageLoader 告诉我您正在使用的库尚未针对应该运行的体系结构进行编译。仔细检查它的架构!

以上是关于iPhone 模拟器启动时的 EXC_BAD_ACCESS。应用程序在设备上运行的主要内容,如果未能解决你的问题,请参考以下文章

首次启动应用程序时的 iPhone 通知

iPhone模拟器:默认启动iPad?

在没有 Xcode 的情况下启动 iPhone 模拟器

模拟器上奇怪的 iphone 6 plus 屏幕尺寸(与启动屏幕图像相比)

Xcode iPhone模拟器没有启动应用程序

Xcode:“构建并运行”而不重新启动 iPhone 模拟器