CoreData の実行SQLを出力させる

CoreData は早い話 O/Rマッパー。SQLを自動生成してくれるのは良いんだけど、どんなSQLが発行されてるか知りたいときもある。デバッグの仕方は、こちらさんが参考になる :-)

"Analyzing Fetch Behavior with SQLite" に、コマンドライン引数に次を指定すると CoreDataから SQLite へ発行される SQLデバッグ出力できるとの記述があった。

  • com.apple.CoreData.SQLDebug 1
CoreData で発行されている SQL をデバッグ出力する


ただ Xcode4 になって、設定箇所がちょいと変わった。こちらさんが参考になる。


手順はこんな感じ。アプリを実行してコンソールにSQLが出力されてれば OK :-)

  1. Product -> Edit Scheme を実行する。
  2. 左ペインで .app を選択する。
  3. メインパネルで Arguments タブを選択する。
  4. Argument Passed On Launch に「-com.apple.CoreData.SQLDebug 1」を追加する。
  5. OK ボタンを押す。



確認環境
  • Mac OSX 10.6.8
  • Xcode 4.0.2