以前xdebugのインストールを紹介しました。
このxdebugがインストールされていることが前提です。
WindowsのeclipseからLinuxのPHPをリモートデバッグする(1)Linuxにxdebuをインストールする
debuggerをインストールする
///usr/local/srcに移動 [root@centos etc]# cd /usr/local/src //wgetでdebuggerを取得 [root@centos src]# wget http://www.vim.org/scripts/download_script.php?src_id=7285 --15:31:56-- http://www.vim.org/scripts/download_script.php?src_id=7285 www.vim.org をDNSに問いあわせています... 216.34.181.97 www.vim.org|216.34.181.97|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 14853 (15K) [application/octetstream] Saving to: `debugger.zip' 100%[================================================================================================================================>] 14,853 30.5K/s in 0.5s 15:31:57 (30.5 KB/s) - `debugger.zip' を保存しました [14853/14853] //解凍 [root@centos src]# unzip debugger.zip Archive: debugger.zip creating: plugin/ inflating: plugin/.DS_Store creating: __MACOSX/ creating: __MACOSX/plugin/ inflating: __MACOSX/plugin/._.DS_Store inflating: plugin/debugger.py inflating: plugin/debugger.vim //ホームディレクトリ配下に.vimディレクトリの作成 [root@centos src]# mkdir ~/.vim/ //ホームディレクトリ配下に/.vim/pluginディレクトリの作成 [root@centos src]# mkdir ~/.vim/plugin/ //解凍したコードを移動 [root@centos src]# mv plugin/debugger* ~/.vim/plugin/
これでphpのコードをvimで開いて下さい。
任意の行に:Bpでブレークポイントが付けられます。
vimを開いた状態でF5キーを押すと
waiting for a new connection on port 9000 for 5 seconds…
と表示されるので、5秒以内にブラウザなどからアクセスします。
アクセスする際は「?XDEBUG_SESSION_START=1」をつけましょう。
http://192.168.xx.xx/…/xxx.php?XDEBUG_SESSION_START=1
といった感じです。
これでデバッグが開始します。
デバッグの方法
デバッグ方法は表示されています。
| resize | [ Normal Mode ] | step into | ,e eval | step over | | step out | | run | [ Command Mode ] | quit debugging | :Bp toggle breakpoint | | :Up stack up | get all context | :Dn stack down | get property at cursor |
step into (ステップイン)
step over (ステップオーバー)
step out (ステップアウト)
run (実行)
がよく使用するでしょう。
「,e」と入力するとフォーカスがevaluateに移動するので、「$xx」と変数名入力すると内容が表示されます。
vimの画面分割ですが
contrlを押しながらwwでカーソルを次のウィンドウへ移動
ZZ(シフトを押しながらzz)で分割ウィンドウを閉じる
一発で全ての画面から抜けるときは:qa!
となります。
おまけですが、vim の画面を分割するのは
:sp 上下分割
:vs 左右分割
となります。
ステップ実行ができるので遷移が分かりやすいですし、変数も見れます。
linuxだけで完結しているデバッグなので便利ですね! :x002: