VimでPHPのデバッグ ( Ajaxなどから非同期Callされる処理もデバッグする)

VimでPHPをデバッグしたい.
調べると, Vdebugというプラグインをインストールして行うらしい.
インターネットで調べてXdebug, Vdebugをインストールしてデバッグできるようになったが, Ajaxから呼び出されている処理でブレークポイントを貼っても止まらない.
調べてみると, 他にもJavaScriptから読んだりしている非同期的な処理の時に止まっていないことがわかった. VdebugのHelpを調べたところ, continuous_mode オプションを使えば止まることがわかった.
あと必ずPHPの先頭で止まってしまっていたので, それも break_on_open オプションで無効にして, デバッグできるようになりました.
デッバッグを終了するには, Ctr-c か <f6>を押す必要があります.

設定は下記の通り

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let g:vdebug_options= {
\    "port" : 9000,
\    "server" : '',
\    "timeout" : 30,
\    "on_close" : 'detach',
\    "break_on_open" : 0,
\    "continuous_mode" : 1,
\    "ide_key" : '',
\    "path_maps" : {},
\    "debug_window_level" : 0,
\    "debug_file_level" : 0,
\    "debug_file" : "",
\    "watch_window_style" : 'expanded',
\    "marker_default" : '⬦',
\    "marker_closed_tree" : '▸',
\    "marker_open_tree" : '▾'
\}

デバッグ時のコマンド

コマンド 動作
F5 デバッガ起動次のブレークポイントへ
F2 ステップオーバー
F3 ステップイン
F4 ステップアウト
F6 デバッガ停止
F9 カーソル行まで移動
F10 ブレークポイント設定

</f6>

0 件のコメント :

コメントを投稿