CakePHPのデバッグをnetbeansとChromeで行う


PHPでの最も簡単なデバッグ方法に、やたらechoやvar_dumpを叩いて変数や配列の中身を確認する方法があるが、ロジックが複雑になればなるほど面倒だ。そもそも検証後に消し忘れたりして、不具合の温床にもなりかねないのでオススメできない。

PHP開発時のIDEにはPhpStormphpDesignerなど色々あるが、未だにnetBeansを使う方が結構いらっしゃる。私自身よく利用していたnetBeansでのデバッグ方法としてxdebug、js周りのデバッグ方法にChromeの設定方法や使い方についてメモ書き(ちなみにWindows環境)

netBeansのxdebug設定方法

とりあえずnetBanesとXAMMPインストールする。XAMMPでなくてもOK。
https://www.apachefriends.org/jp/index.html
https://ja.netbeans.org/

php.iniの設定

xampp/php/php.iniファイル中に、以下のコードを追記してあげる。

qiita.rb![xdebug4.png](https

zend_extension = "C:¥xampp¥php¥ext¥php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:¥xampp¥tmp"

パスは各自環境にあわせる。

netBenasの設定

[ツール] → [オプション]からオプションのPHPメニューへ。
デバッグを選択し、以下の通りに設定する。

オプションPHPの一般タグを選択し、インタプリンタを選択。

実行対象プロジェクトを選択し、プロパティから実行構成を変更。
ポート番号はXAMPPで動かしたいシステムのポートに合わせる(デフォルトでは80)

最後に以下ディレクトリ配下のnetbeans.confファイルを修正。
C:\Program Files\NetBeans 8.1\etc ※各自環境のディレクトリ
netbeans_default_optionsの末尾に、-J-Dfile.encoding=UTF-を追記。

netBeans-xdebugの使い方

画面上部にデバッグメニューが表示されているので[プロジェクトをデバッグ]を選択する。
コマンド経由でもOK。

デバッグで停止させたい行数をクリックすれば、行数欄に赤い■マークが付けられる。指定コード実行時、赤いマークの行数でとまり、以降は画面上部([ツール]と[ウィンドウ]の下辺り)にある矢印マーク(↓)のボタンで処理を進めていくことが可能。

デバッグモードを終えたい場合は、画面上部の赤い四角ボタンを押せば終わる。

js(jQuery)はChromeの開発者ツールを使う

js周りのデバッグはChromeの開発者ツール(Windowsの場合はF12キー)で行うのが簡単。

開発者ツールを開くと読み込まれているjsファイルの一覧が見えるので、Sourcesタブを選んで止めたい行数を選択すれば青い印がつけられる。画面右端の↓ボタンで進めることが可能。尚Chrome開発者ツールはxdebugを動かさなくても実行出来るので、設定とかは特にいらないです。