gdbでPHPをデバッグする方法について、
こちらのページで詳細に説明してあったので、
ちょっと試しにやってみました。
gdbがインストールされていれば、やり方はとっても簡単です。
まずはgdbを起動。gdbコンソールが立ち上がってくれます。


>gdb
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
(gdb)

起動後は、PHPのコアファイルからコマンドを読み込み。


(gdb) file /usr/local/php5/bin/php

で、デバッグしてみたいファイルを走らせればOKです。


(gdb) run /www/htdocs/index.php

問題が無ければ、こんな感じで終わってくれます。


Program exited normally.
(gdb)

やってみたところ、inlude()やrequire()をしてるところ、
ファイルを読み込んでいるところのいくつかに、
相対パスのままで指定してしまっているところが多々あり、、、
これのエラーがあちこちで出てしまってました。。。
相対パスのままでも、PHPがファイルを探して回ってくれてるので、
プログラム的には問題なく動いてしまうわけなのですが、
けっこうな負荷がかかってたと思います。
ちなみに。PHPの動きについては、こちらをご参照どうぞ
というわけで、現在参照中のファイルのフルパス+ファイル名で、
パスをきっちり書き直しておきました。


include(dirname(__FILE__) . "/etc/function.php");

少ないプロセスを大切に使わないと。

スポンサーリンク