![]() Memo/PHP/Xdebughttp://dexlab.net/pukiwiki/index.php?Memo%2FPHP%2FXdebug |
Xdebugでスタックトレース †特徴 †Xdebug http://www.xdebug.org/index.php
他のデバック/プロファイリングソフトは以下がある模様。
WinCacheGrind? †
インストール †Windows †
Linux †
確認 †apacheの再起動。 <? phpinfo(); ?> 「xdebug」の項目が表示されていればOK。 デバック時にGET, POST, SESSION等の情報も表示する †php.iniに以下の行を追加する。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; for Xdebug ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;xdebug.dump.COOKIE ;xdebug.dump.ENV ;xdebug.dump.FILES xdebug.dump.GET=* xdebug.dump.POST=* ;xdebug.dump.REQUEST ;xdebug.dump.SERVER xdebug.dump.SESSION=* プロファイル情報を出力する †php.iniに以下の行を追加する。
で、phpプログラムを実行すると、「C:\PHP\xdebug\xdebug_1106716852_3456.txt」のようなファイルができます。 Execution Time Profile (sorted by execution time) ----------------------------------------------------------------------------------- Time Taken Number of Calls Function Name Location ----------------------------------------------------------------------------------- 0.0033779144 1 *{main}() c:\user\www\htdocs\php\phpinfo.php:0 0.0032899380 1 phpinfo() c:\user\www\htdocs\php\phpinfo.php:2 ----------------------------------------------------------------------------------- Opcode Compiling: 0.0023498535 Function Execution: 0.0032899380 Ambient Code Execution: 0.0876271725 Total Execution: 0.0909171104 ----------------------------------------------------------------------------------- Total Processing: 0.0932669640 ----------------------------------------------------------------------------------- End of function profiler 特定の部分のプロファイルを出力する †特定の部分のプロファイリングをするには、xdebug_start_profiling()、xdebug_stop_profiling()を使用する。 xdebug_start_profiling(); // 処理... xdebug_dump_function_profile(); // 2つのテーブルで表示。 echo "<pre>"; var_export(xdebug_get_function_profile()); // プロファイル情報を配列で返す xdebug_stop_profiling(); アナライザ †
リンク † |
|