XCode 4.2.1 +启用Guard Malloc - >立即崩溃?

时间:2012-01-19 23:12:57

标签: xcode4

有谁知道如何解决这个问题?使用Xcode 4.2.1,打开Enable Guard Malloc并在iPhone模拟器5上运行,应用程序立即崩溃,这就是堆栈跟踪:

#0  0x00000000 in <????> ()
#1  0x91594ef3 in mig_get_reply_port ()
#2  0x9158e70c in mach_ports_lookup ()
#3  0x031f0124 in _xpc_domain_init_local ()
#4  0x031edeb1 in _libxpc_initializer ()
#5  0x8fe5d15b in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE ()
#6  0x8fe5ccc0 in __dyld__ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE ()
#7  0x8fe5a220 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE ()
#8  0x8fe5a1b6 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE ()
#9  0x8fe5a1b6 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE ()
#10 0x8fe5a1b6 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE ()
#11 0x8fe5a1b6 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE ()
#12 0x8fe5b1c0 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE ()
#13 0x8fe4f626 in __dyld__ZN4dyld24initializeMainExecutableEv ()
#14 0x8fe53ef2 in __dyld__ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_ ()
#15 0x8fe4d2ef in __dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKclS2_ ()
#16 0x8fe4d063 in __dyld__dyld_start ()

1 个答案:

答案 0 :(得分:0)

你看到这个答案:Application crashes on simulator 5.0 before reaching main.m

然而,链接的解决方案对我不起作用。我有完全相同的诊断和缺少错误消息,但我发现我的项目没有“弱”相关的问题.pbxproj

但是,我发现我的问题的原因是+(void)initialize方法中的死锁。 更确切地说,在这种方法中,我打电话给dispatch_sync(dispatch_get_main_queue(), ^{[some block code]})。将其更改为dispatch_async(注意“a”)解决了我的问题。

我发现这个问题的方式是偶然的。虽然似乎没有任何事情发生,Xcode的“线程”导航器告诉我应用程序本身没有崩溃。我偶然点击了调试器中的“暂停”。然后它突然停在了死锁的地方。

享受。