2011-06-28 3 views
0

自分のプロジェクトに静的ライブラリがリンクされています。 Twitter + OAuthソースを追加してそれらをすべてコンパイルすると、メインアプリの呼び出しスタックがEXC_BAD_ACCESSに失敗するように変更されます。 Twitterのソースファイルとプロジェクトに新しいソースファイルを追加すると、メインアプリケーションのコールスタックが変更されます

#0 0x0051fc32 in registerMyOwnPluginCallback at MyPlugin.c:19 
#1 0x00019b54 in -[AppController applicationDidFinishLaunching:] at AppController.mm:1058 
#2 0x308f15a4 in -[UIApplication _performInitializationWithURL:sourceBundleID:] 
#3 0x308f117c in -[UIApplication _runWithURL:sourceBundleID:] 
#4 0x309374b0 in -[UIApplication handleEvent:withNewEvent:] 
#5 0x30936cf0 in -[UIApplication sendEvent:] 
#6 0x3093687c in _UIApplicationHandleEvent 
#7 0x3204696c in PurpleEventCallback 
#8 0x30254a76 in CFRunLoopRunSpecific 
#9 0x3025416a in CFRunLoopRunInMode 
#10 0x308f0354 in -[UIApplication _run] 
#11 0x308eea94 in UIApplicationMain 

(EXC_BAD_ACESSをアップスロー):Twitterのソースファイル(正常に動作します)なし

#0 0x00533b8c in registerMyOwnPluginCallback at MyPlugin.c:17 
#1 0x308f15a4 in -[UIApplication _performInitializationWithURL:sourceBundleID:] 
#2 0x308f117c in -[UIApplication _runWithURL:sourceBundleID:] 
#3 0x309374b0 in -[UIApplication handleEvent:withNewEvent:] 
#4 0x30936cf0 in -[UIApplication sendEvent:] 
#5 0x3093687c in _UIApplicationHandleEvent 
#6 0x3204696c in PurpleEventCallback 
#7 0x30254a76 in CFRunLoopRunSpecific 
#8 0x3025416a in CFRunLoopRunInMode 
#9 0x308f0354 in -[UIApplication _run] 
#10 0x308eea94 in UIApplicationMain 
#11 0x0001b8c4 in main at main.mm:18 

私はコンパイルのためにソースファイルを追加したり変更しませんでした開始コード。

このような動作の原因は何ですか?

答えて

1

前に、どのオブジェクトが漏れているかを特定する必要があります。

プロジェクトフォルダでは、実行可能ファイルをクリックしてあなたのアプリを選択し、それを右クリックして情報を取得し、NSZombieEnabled YESのような引数を追加します。今すぐすべてのターゲットをきれいにし、アプリを実行して同じシナリオを再現すると、正しいオブジェクトが表示されます。それを修正してください。

+0

私はクラッシュポイントを持っていますが、オブジェクトはまだありませんが、ポインタの割り当てだけが機能します。私は自分のプラグインで静的関数ポインタに、アプリケーションから関数名を割り当てます。それで全部です。 –

+0

クラッシュポイントはすでにわかっています。私の質問は、起動コードを変更することなく、追加されたソースファイルのためにコールスタックがどのように変化する可能性があるかについてより深く懸念します。 –

+0

NSZombieEnabledを配置した後にnslogをチェックしましたか?可能であれば教えてください。私には、[cfstring release] [nsurl release]の出力が表示されます。 – maheswaran

関連する問題