4

我今天尝试在我的 Xcode 项目中切换架构,因为我即将使用尚未移植到 64 位的低级 QuickTime 东西。当我之前在 x86_64 上编译时,我的应用程序运行得很好。然后我将拱门切换到 i386 并繁荣,我的应用程序在启动时不断崩溃。

奇怪的是,堆栈跟踪与我自己的代码无关。

#0  0x9929ebf1 in __CFBasicHashDeallocate
#1  0x99286ea1 in _CFRelease
#2  0x992b397d in _CFAutoreleasePoolPop
#3  0x917d1dda in NSPopAutoreleasePool
#4  0x92b67bc9 in loadNib
#5  0x92b66f99 in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
#6  0x92b66eaa in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
#7  0x92b66df5 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#8  0x92b63bf9 in NSApplicationMain
#9  0x000023c8 in main at main.m:13

有任何想法吗?

4

1 回答 1

3

我的猜测是您在 nib 中创建了在 32 位模式下不安全的对象。例如,您可能会对某些不正确的对象的大小做出假设,例如,使用 double 而不是 CGFloat 或 int64_t 而不是 NSInteger。

于 2010-06-19T14:34:39.030 回答