2009-09-03 6 views
8

デバイス上でアプリケーションを実行すると、デバッガが私にこのことを伝えています。どういう意味ですか? "mi_cmd_stack_list_frames:スタックにフレームが足りません。"

Program received signal: “EXC_BAD_ACCESS”. 
mi_cmd_stack_list_frames: Not enough frames in stack. 
mi_cmd_stack_list_frames: Not enough frames in stack. 

コードのどこに情報がないのですか?それは私が得るすべてです。それがどういう意味だろうか?

その後、アプリがクラッシュします。デバイスがMacに接続されていない場合でも、デバッガの問題ではなく、クラッシュします。

+0

誰かがブレークポイントを見つけ出すと、そのエラーが発生したときにブレークする可能性がありますか?それは物事を明確にするのに役立ちます。 –

答えて

2

EXC_BAD_ACCESSは、既にリリースされたオブジェクトにメッセージが送信されたときに発生します。

既にリリースされているものをリリースしようとすると、「mi_cmd_stack_list_frames:スタックに十分なフレームがありません」が見えました。

私の提案は、NSZombieEnabled環境変数を設定し、アクセスしようとしているリリースされたオブジェクトを確認することです。

このサイトでは、その上に素晴らしいチュートリアルがあります。 http://www.codza.com/how-to-debug-exc_bad_access-on-iphone

1

私は問題の少なくとも三つの異なる種類によって引き起こされ、この見てきた:他の回答で述べたように、overreleaseエラーが行うことができます

をそれ。

•iAdとIOS 4.0を使用するようにアプリケーションをアップグレードしていたときに起こりました。問題は、アプリの3.0バージョンでもiAdフレームワークを使用しようとしていたことだと思いますが、iAdは4.0以上であるため、もちろん不可能です。

•アプリからたくさんのものを取り出して再コンパイルしたときに起こったことがありましたが、古いものの痕跡はまだシミュレータ上に残っていました。シミュレータをリセットして問題を解決しました。私が取り除いていたのはFlurry APIでした。私は、具体的に何が起こっているのか分かりません。

9

3.1.3の電話機に4.0 sdkでビルドすると、これが原因でした。

ターゲットの弱いリンクUIKitで修正されました。私は、デバイスを使用する場合に適しています。同時にその

Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); 

のような文字列でのiOS 3.1.2の下で、iPhone上でアプリを起動しようとしていたようなメッセージを持っている

+5

もっと詳しい説明:http:// stackoverflow。com/questions/2618889/universal-iphone-ipad-application-debug-compilation-for-iphone-testing/2622027#2622027 – WoodenKitty

0


iOS4専用クラスへの参照がである場合、デバイスで実行を開始するとアプリがクラッシュする可能性があります。

0

新しいプロジェクトを作成し、既存のファイルをすべてコピーすると、この問題が解決されました。

1

私は同じ問題があります。 私の解決策は次のとおりです。Xcodeを終了し、しばらく待ってから再起動してください。

+0

リセットこの問題がシミュレータで判明していて、デバイスをオフにしてからデバイスをオフにしてから、後でオンにします。 –

関連する問題