猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Linux

vimを使ってPHPをデバッグする(xdebug+debugger)

投稿日:2013年7月21日 更新日:

以前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:

Gooleアドセンス用336

Gooleアドセンス用336

-Linux
-

執筆者:

関連記事

vmware toolのインストール

よくvmware toolのインストールを促す画面が表示されます。 ツールのインストールをクリックしましょう。 ↑のように自動でマウントしてくれます。 インストール方法が表示されますのでその通りに実行 …

linux

tcpdumpでパケットキャプチャをする

パケットキャプチャといえばwire sharkでしょう。でも簡単にキャプチャしたい場合はいくらでもあるはずです。 linuxならtcpdumpがお勧めです。 INDEX1 基本的な使い方2 ソースホス …

linux

ntpdの設定

ntpの設定は/etc/ntp.confで行います。 serverさえ設定してしまえばいいわけですが、 その他設定も少しあります。 INDEX1 restric2 server3 driftfile …

linux

VMware Playerで仮想ネットワークエディタを使用する

仮想ネットワークエディタを使用するとそれぞれのアダプターのネットワークが一目でわかり、 しかも設定の変更も簡単です。 Playerには梱包されていないので、Workstationの評価版のインストーラ …

windows

WSL Windows Subsystem for Linux

Windows Subsystem for Linux 私はvmware playerでCentOSを起動してつかっていました。何が違うのか、興味本位でWindows Subsystem for Li …