iPhone SDK CoreDataのデバッグログを表示する

| コメント(0) | トラックバック(0)
CoreDataの勉強中でまだまだ自分のものにできていないのだが、そんな自分の強力なサポートとして、CoreDataの発行するSQLをデバッグログに表示してくれる方法がある。

ずいぶん前に設定したのだが、新しいプロジェクトに設定するのに忘れないよう残しておく。

まずは「プロジェクト」タブの一番下「アクティブな実行可能ファイル・・・」を選択。

screenshot_1.png

「引数」タブの「起動時に渡される引数」に下記のコードを追加。

-com.apple.CoreData.SQLDebug 1

screenshot_2.png
下の変数はデバッグ用のコード。

これでコンソールにCoreDataのログが出力される。

[31597:207] CoreData: sql: BEGIN EXCLUSIVE

[31597:207] CoreData: sql: SELECT Z_MAX FROM Z_PRIMARYKEY WHERE Z_ENT = ?

[31597:207] CoreData: sql: UPDATE Z_PRIMARYKEY SET Z_MAX = ? WHERE Z_ENT = ? AND Z_MAX = ?

[31597:207] CoreData: sql: COMMIT

[31597:207] CoreData: sql: BEGIN EXCLUSIVE

[31597:207] CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'

[31597:207] CoreData: sql: DELETE FROM Z_METADATA WHERE Z_VERSION = ?

[31597:207] CoreData: sql: INSERT INTO Z_METADATA (Z_VERSION, Z_UUID, Z_PLIST) VALUES (?, ?, ?)

[31597:207] CoreData: sql: INSERT INTO ZBOOK(Z_PK, Z_ENT, Z_OPT, ZTITLE, ZWRITER) VALUES(?, ?, ?, ?, ?)

[31597:207] CoreData: sql: COMMIT

[31597:207] CoreData: sql: pragma page_count

[31597:207] CoreData: annotation: sql execution time: 0.0018s

[31597:207] CoreData: sql: pragma freelist_count

[31597:207] CoreData: annotation: sql execution time: 0.0012s

トラックバック(0)

トラックバックURL: http://www.siesta-design.com/mtadmin/mt-tb.cgi/17

コメントする

2011年2月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28