読者です 読者をやめる 読者になる 読者になる

iOSシミュレータでのデバッグができなくなった

Objective-C

3日前ほどから、XCodeからiOSシミュレータでアプリのデバッグができなくなって、本当に悩んでいました。

症状

error: failed to attach to process ID

コンソールにこのエラーメッセージが表示されて(process IDは0ではない)、シミュレータはスプラッシュ画面で止まる。
XCode上部ウィンドウには

Attaching to

と表示されたまま、アプリの停止ができず、XCode自身も落とせなくなる。

…と、ここまではわりとよくあって、今まではXCodeもしくはMacの再起動でなんとかなっていました。
今回はそれが直らず。
特定のプロジェクトのみではなく、新規作成して手を加えず走らせてもだめでした。

解決策

  • デバッガをLLDBからGDBに変える

原因は分からないのですが(くやしい)、どうやらLLDBが悪さしていたよう。

ちなみに、いちどGDBで走らせたあと、試しにともう一度LLDBに変えたら、普通に動きました…な、なんだったの…?

その他やったこと

  • もろもろ再起動
  • XCodeアップデート(4.5.0 → 4.5.2)
  • Deviced Data削除(ついでにSnapshotも)
  • シミュレータの「コンテンツと設定をリセット」実行
  • プロジェクトのCleanとClean Build Folder実行
  • 環境設定のLocation再確認

環境

XCode 4.5.0 → 4.5.2
MacBook Air OS10.7
iOSシミュレータ 4.3〜6.0