web-dev-qa-db-ja.com

Xcode 4.2SIGABRTエラー

IPadシミュレーターでアプリを実行するたびに、問題なく動作します。しかし、iPhoneシミュレーターで実行すると、ホームボタンをクリックすると、main.mファイルのXcodeで、「スレッド1:プログラムがシグナルを受信しました:SIGABRT」というエラーが表示されます。 main.mのコードでこの行を強調しています:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

ただし、iPadシミュレーターのホームボタンを押しても、この問題は発生しません。私はこのエラーについてここで多くの調査を行いましたが、有用なものは何も見つからなかったようです。誰かがこれを修正する方法を知っていますか?

編集:ここにデバッガコンソールからのいくつかの詳細があります

"None.TestApplicationをbootstrapサーバーに登録できませんでした。エラー:不明なエラーコード。これは通常、このプロセスの別のインスタンスがすでに実行されているか、デバッガーでハングしていることを意味します。sharedlibraryapply- load-rules all現在の言語:auto;現在objective-c(gdb)

10
Henry F

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));は、プログラムの実行中に例外がスローされたことを意味します。これは、メモリの問題から単純なランタイムエラーまでさまざまです。ターゲットデバッガコンソールを確認します。エラーが発生した場所がわかります。

編集された質問のために編集されました: iOSシミュレーターを工場出荷時のデフォルトに戻すことで、この質問を以前に解決しました(左上の「iOSシミュレーター」メニューを開く->コンテンツと設定のリセット)。次に、iOSシミュレーターとXcodeを終了し、コンピューターを再起動します。これにより、プロセスの他のインスタンスが削除されます。

15
DGund

私はちょうど同じ問題に遭遇しました(実際、それに約2時間無駄になりました!)。スローされた例外はありませんでした。最終的に私はこのような答えに出くわしました。シミュレーターとXCodeをリセ​​ットして再起動してもクリアされませんでしたが、再起動するとクリアされました。

したがって、これが表示され、バックトレースに例外に関する情報がない場合は、マシンを再起動すると修正される可能性が高いと思います。

5
Joe Strout

私は非常によく似た問題を抱えており、LLDBデバッガーからGDBに(Product/Scheme/Edit Schemeメニューから)切り替えると問題がなくなることがわかりました。試すだけの価値があります。

3
AW101

コンピューターの再起動、シミュレーターのリセットなど、上記のすべてを実行しましたが、何も機能しなかったため、すべてのファイルを別のフォルダーにコピーし、新しいプロジェクトを作成してペン先ファイルを再構築し、別のファイルからコピーして貼り付ける必要がありました。新しいプロジェクトにフォルダを追加します。本当にかなり厄介です。何も機能せず、アプリがそれほど複雑でない場合は、これが代替手段になる可能性があります。たぶん最高ではありませんが、防水性のあるものです。

3
Jonathan

私の場合、viewDidLayoutSubviewsにコードがあり、レイアウトが更新され、viewDidLayoutSubviewsが再び呼び出されて無限ループに陥りました。このコードを移動すると、このエラーが解決しました。

メインスレッドの無限ループは、キャッチされない例外になると思います。

1
Yaroslav