アプリを初めて起動すると、すべてが正常に実行されるようです。停止ボタンを押していくつかの作業を行い、再び起動するときに何かをロードする前にクラッシュするようです。停止ボタンを押して、もう一度「実行」をクリックすると、正常に機能します。プロセスを繰り返すまで。
これは、xcodeが「Thread 1:signal SIGABRT」でエラーを強調している場所です。明らかにここでは何も役に立ちません。
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([PokerAppDelegate class]));
}
}
デバッグコンソールには(lldb)以外は何も表示されません(そのため、この時点でクラッシュするのではなく、停止することになります)。したがって、BT
を実行すると、次のようになります。
(lldb) bt
* thread #1: tid = 0x1c03, 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x99ea1b2f libsystem_c.dylib`pthread_kill + 101
frame #2: 0x04a7057b libsystem_sim_c.dylib`abort + 140
frame #3: 0x01dc0b4e GraphicsServices`GSRegisterPurpleNamedPort + 348
frame #4: 0x01dc069f GraphicsServices`_GSEventInitialize + 123
frame #5: 0x01dc0c1f GraphicsServices`GSEventInitialize + 36
frame #6: 0x000163f9 UIKit`UIApplicationMain + 600
frame #7: 0x00001d0d Guitar Chord Poker HD`main(argc=1, argv=0xbffff32c) + 141 at main.m:16
frame #8: 0x00001c35 Guitar Chord Poker HD`start + 53
(lldb)
これまでに私がやったことは次のとおりです。
これにもかかわらず、アプリは毎秒/その他の起動ごとにクラッシュします。
最新のXcode更新まで問題はなかったということです。 Xcodeのバグでしょうか?
(編集)OSXの最新の開発者リリースも実行しています。それが干渉している可能性がありますか?
OS X 10.8.4とLLDBの組み合わせ のようです。ケンスターが言うように、GDBに切り替えると問題はなくなります。
編集:
これは、デバッグサーバーの競合状態が原因です(聞いている)。
LLDBを使い続ける場合の修正方法は次のとおりです。アプリがシミュレータで既に実行されているときに[実行]をクリックする代わりに、Xcodeでそれを強制終了し(kill-。) R)。クラッシュすることはありません。テストしました。
修正済みin Xcode 4.6.3。
私もこの問題を抱えていました。この投稿をご覧ください。 Xcode 4.6.2アプリは2回実行するたびにクラッシュします
基本的に、デバッガーをLLDBからGDBに変更します。これはLLDBがバグだからだとは信じられません。
GDBに切り替えるか、デバイス/ホストを再起動しても、私の環境の問題は解決しません。
ただし、関連するXCodeスキームのRunターゲットを変更して、自動的に起動するのではなく、代わりに"HelloWorld。appを起動する")しました。
唯一の欠点は、デバイスでアプリケーションを手動で起動することを意味することです。その後、デバッガーが接続されます。