Home > Tags > Xdebug
Xdebug
Zend Debugger, Xdebug, DBGを比較する
- 2009-07-08 (水)
- 技術・開発ツール
Zend Debugger
- PDT または Zend Studio(6.0以上)と一緒に使用できる
- Zend Serverには組込み済み
- Zend Studioと併用すれば統合されたプロファイリング機能やコードカバレッジ機能が使える。
- 現在公開されている最新バージョンは2008年9月リリースの5.2.15だがZend Serverにもこれと同じバージョンが入っているのかどうかが不明。(ちなみに最新のZend Studio 7.0.0betaに組み込まれているZend Debuggerのバージョンを見たら5.2.26となっていたので開発は進んでいるようだ。おそらくこれはPHP5.3に対応したバージョンだろう。)
Xdebug
Xdebug – Debugger and Profiler Tool for PHP
- サードーパーティのオープンソース製品。非常に優れたツールとして広く使用されている。
- なんとすでにPHP 5.3に対応済み(2.0.4以降)
- エラーの内容をわかりやすく整形して出力してくれる。(ここを参照。) コードカバレッジ機能とプロファイリング機能を標準で備えている。
- phing, PHPUnit, phpDocumentorとの連携で自動テスト&レポート作成ができる。
- PDT(2.0以上)およびNetbeans(6.5以上)と組み合わせて快適に使える。
- Zend製品との組み合わせに難あり
- Zend Studio – EclipseベースのはずなのにZend Debuggerしか選べない。(※注)
- Zend Server – 相性が悪い
DBG
- オープンソースの無償版と有償版がある。
- 無償版はPHPEclipse やVS.Php などでサポート。
- 有償版は商用IDEのNuSphere PhpED と共に提供される。
- 最新版がリリースされたの2007年の5月と少々古い。
- PHP5.2まで対応。
- 今となっては多少マイナーな存在か。Xdebugが先に進みすぎているだけかも。
まとめ:
Zend DebuggerはZend Studioと一緒に使わないとコードカバレッジやプロファイリング機能を使えないのが辛い。ZendとしてはユーザにZend製品で統一してもらいたいのだろうが、無償で利用できるXdebugと比較した場合その価格に見合った価値を提供できているかというと正直”?”である。今後の開発でさらに優れた製品になることを期待。
(※ 注) 実はZend Studio使用時にXdebugを有効にする方法がある。How to enable the Xdebug debugger in Zend Studio for Eclipse – Blog of Max Horvath)
- Comments: 0
- Trackbacks: 1
Zend DebuggerとXdebug – どちらを使えばよいのか
- 2009-07-06 (月)
- 技術・開発ツール
- XdebugをPDTで使ってデバッグすると変数に含まれる日本語を正しく表示できない、だからPDTとの組み合わせではZend Debuggerを使うべき
- Zend Debuggerはmod_rewriteには対応していないのでCakePHPをデバッグできない。XdebugならOK。
という主旨の情報がWeb上にいくつか見られるので試してみた。特に後者の問題については他の人の報告を鵜呑みにしているだけのようなエントリが見受けられるので自分で確かめたかった。
動作させた環境
- Mac OS X 10.5.7
- Zend Server Community Edition 4.0.3 + Zend Debugger(Zend ServeにはZend Debuggerが最初から入っている。組込み済みZend Debuggerの正確なバージョンを知る方法が自分にはわからないので断言はできないが、Zend Debugger 5.2.15が2008年の9月に公開されているので少なくともこれより後のバージョンのはずだ)
- MAMP 1.7.2 + Xdebug 2.0.4
- PDT 1.0.3
- PDT 2.0
- PDT 2.1
1. Xdebug + PDTは文字化けするのか?
PDT1.0.3では確かにデバッグ内容が文字化けする。だが2009年1月にリリースされたPDT 2.0およびつい最近リリースされたPDT 2.1では大丈夫だ。(もちろんPDT側で文字コード関連の設定を正しく行う必要はある。)
2. Zend Debugger + mod_rewrite + CakePHPは正しく動かないのか?
これは耳にした時から腑に落ちなかった。同じくmod_rewriteを使用するZend Framework + Zend Debuggerの組み合わせで自分は問題に遭遇したことがないからだ。CakePHP固有の問題なのかもしれないのでCakePHP(1.2.3.8166)をセットアップし、サンプルをPDT2.0でデバッグしてみたのだが何の問題もなくデバッグできた。
この問題に言及しているウェブ上の情報が1年前以上のものということで少々古いし、書き手の環境等の具体的なデータが載っていないのが気になる。もしかして以前はこの組み合わせではだめだったのかもしれない。ただ自分も今回さらりと使っただけなので「現在のバージョンでは問題なし」と断言できるほど十分使い込んだとは言えない。なのでこの辺はCakePHPに詳しい人に会ったときにぜひ聞いてみたい。
まとめ
- 最近のPDT(2.0以上)はXdebugとZend Debuggerのどちらと組み合わせてもちゃんと日本語を扱える。
- Zend Debugger + mod_rewrite + CakePHP の組み合わせに問題があるのかどうかについては保留(個人的な感触としては2009年7月現在の最新バージョンを使えば問題なさそう)
※PDT以外のIDE以外の場合については別エントリで書きたいと思う。
- Comments: 0
- Trackbacks: 0
Home > Tags > Xdebug