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

私の推測では、32ビットモードでは安全ではないオブジェクトをペン先に作成したと思います。たとえば、CGFloatの代わりにdoubleを使用したり、NSIntegerの代わりにint64_tを使用したりするなど、正しくないオブジェクトのサイズについて想定している場合があります。

于 2010-06-19T14:34:39.030 に答える