代码之家  ›  专栏  ›  技术社区  ›  Era

i386上的应用程序崩溃,在x86_上工作

  •  4
  • Era  · 技术社区  · 14 年前

    我今天在Xcode项目中尝试切换架构,因为我将要使用还没有移植到64位的低级QuickTime东西。当我以前在x86上编译时,我的应用程序运行得很好。然后我把Arch换成了i386和Boom,我的应用程序在启动时不断崩溃。

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

    #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
    

    有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   JeremyP    14 年前

    我猜您已经在NIB中创建了32位模式下不安全的对象。例如,您可能在假设某个对象的大小不正确,例如,使用double而不是cgfloat或int64而不是nsinteger。