Manual:How to debug/ja

このページはMediaWikiをデバッグするための基本的な手引きです.

最初に気付くことの一つは"echo"が一般的に動作しないことです; これはデザイン全体の一部です. これはデバッギングのためにもっとも簡単な(そしておそらくはベストな)ツールの一つです. しかし他にも方法はあります.

デバッギングをセットアップする
最初にする必要があることは"/includes/DefaultSettings.php"ファイルから$wgDebugLogFileグローバル変数をコピーして、デバッグトレース出力を記録するテキストファイルを名付けます:

DefaultSettings.phpに多くのデバッグ変数が存在しLocalSettings.phpで上書きすることができます. 例です:

プロファイルするために、profiling/debugging定数をLocalSettings.phpファイルにコピーする必要があります. 例です:

$wgProfilingの設定は$wgDebugLogFileで基本的なページのタイミングを提供します. もっと高度なページ内のプロファイリングのためには、StartProfiler.phpを修正しなければなりません.

注意: MediaWiki 1.8.2では、$wgProfilerTypeはまったく使用されません. 望むプロファイラを有効にするためにStartProfiler.phpを変更しなければならなくなります. 詳細についてはそのファイルをご覧ください.

実行をトレースする
一旦上記の変数をセットアップすると、wfDebugグローバル関数をどこからでも呼び出すことができます. 関数は"includes/GlobalFunctions.php"ファイルで見ることができます.

例

ログファイルで次の内容を見ることになります::

This is just testing the debug tracing stuff

プロファイリング
高度なプロファイラを読み込むためにStartProfiler.phpを修正します.

それから、次のコードで調査したい関数をボトルネックとしてラップします:

始め:

終わり:

ログファイルでプロファイリング情報を見ることになります. 異なるフォーマットを表示するためにLocalSettings.phpで$wgProfileCallTreeをtrueもしくはfalseに変更してください.

データベースにログインする
データベースへのプロファイリングを記録するために、最初にMediaWikiのデータベースでmaintenance/archives/patch-profiling.sqlファイルをコマンドで使用してプロファイリングテーブルを作成しなければなりません. そしてLocalSettings.phpで$wgProfileToDatabase = trueを設定します.

これでどこかのページを見てください (もしくはユーザーにさせてください).

プロファイル情報を見る
MediaWikiルートにあるprofileinfo.phpページはprofilingテーブルからプロファイル情報を出力します. 動作させるためには、AdminSettings.phpで$wgEnableProfileInfo = true;を設定して下さい. それから、十分なデータを集めた後で、profileinfo.phpにアクセスしてプロファイルされたコードがどれだけの時間をしてどのくらい呼び出されたのかをご覧ください.