Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 应用程序在i386上崩溃,在x86_64上工作_Objective C_Cocoa_Xcode_X86 64_I386 - Fatal编程技术网

Objective c 应用程序在i386上崩溃,在x86_64上工作

Objective c 应用程序在i386上崩溃,在x86_64上工作,objective-c,cocoa,xcode,x86-64,i386,Objective C,Cocoa,Xcode,X86 64,I386,我今天在我的Xcode项目中尝试了切换架构,因为我将要使用尚未移植到64位的低级QuickTime。当我以前在x86_64上编译时,我的应用程序运行得很好。然后我将arch切换到i386,然后砰的一声,我的应用程序在启动时不断崩溃 奇怪的是,堆栈跟踪与我自己的代码无关 #0 0x9929ebf1 in __CFBasicHashDeallocate #1 0x99286ea1 in _CFRelease #2 0x992b397d in _CFAutoreleasePoolPop #3

我今天在我的Xcode项目中尝试了切换架构,因为我将要使用尚未移植到64位的低级QuickTime。当我以前在x86_64上编译时,我的应用程序运行得很好。然后我将arch切换到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

有什么想法吗?

我猜您已经在nib中创建了在32位模式下不安全的对象。例如,您可能对某个对象的大小做出了不真实的假设,例如,使用double代替CGFloat,或使用int64\t代替NSInteger。

如何缩小此问题?我尝试使用调试器逐步检查代码,但到目前为止没有可用的结果。。。找不到它崩溃的地方,找到了!语句[update setTitle:@“更新可用”➜"]; 崩溃是因为我使用了一个非标准符号(箭头)。@eaigner我可能会向苹果提交一个bug。它看起来不像➜ 字符加载一个笔尖时应该崩溃。你能把它简化成一个更小的测试用例(例如,窗口上的一个标签或其他东西)吗?如果你在代码中
setTitle:
,它能工作吗?很抱歉,现在我明白了。箭头误导了我,因为我在搜索一些特定于体系结构的东西,但这是由于按钮子类中的过度释放(向使用便利分配器创建的NSDictionary发送了一个-autorelease)。虽然我想知道为什么这个bug没有出现在x86_64配置中。它有可能在另一个线程上崩溃吗?