vim+xdebug+DBGp 单步调试 php

前端之家收集整理的这篇文章主要介绍了vim+xdebug+DBGp 单步调试 php前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

http://blog.chinaunix.net/uid-16235175-id-3275023.html

记录一下刚刚配置成功的 vim+xdebug+DBGp 单步调试 PHP

OS : ubuntu 10.10 64bit

Vim : vim7.3
PHP : 5.2.14 fast-cgi
Xdebug : 2.1.1
DBGp : 1.1.1

1、编译vim7.3

首先安装依赖包:

依赖包
  1. apt-getupdate
  2. apt-get-yinstallgccg++makemercuriallibncurses5-devlibgnome2-devlibgnomeui-devlibgtk2.0-devlibatk1.0-devlibbonoboui2-devlibcairo2-devlibx11-devlibxpm-devlibxt-devwmctrl

因为插件需要python、sign支持,所以首先要求OS上安装了python,一般系统自带python,但是不会自带python开发包,所以需要另外手动安装,ubuntu 安装python2.6:

python
    sudoapt-getinstallpythonpython-dev

vim7.3编译参数:

vim7.3编译参数
    ./configure\
  1. --prefix=/usr/local/modules/vim/vim73\
  2. --with-features=huge\
  3. --enable-pythoninterp=yes\
  4. --with-python-config-dir=/usr/lib64/python2.6/config\
  5. --enable-gui=gnome2\
  6. --enable-cscope\
  7. --enable-fontset\
  8. --enable-perlinterp=yes\
  9. --enable-tclinterp\
  10. --enable-multibyte
  11. sudo make & make install

注意这一行:--with-python-config-dir=/usr/lib64/python2.6/config
因为我是64位系统,所以使用的地址是:/usr/lib64,如果是32位系统,应该使用:/usr/lib/...
编译完成后,看一下vim --version,如有python和sign前面是+,不是-,就说明配置成功了。

为了装这个python支持,费了好多功夫,网上例子多数都是只写了编译时加上--enable-pythoninterp,然后python用系统自带的就可以了,但是我编译完了,version里的python始终是不支持,后来才发现,有两个注意点:
1、大部分linux系统自带的是有python,但是还需要安装python开发包,在apt源里,python2的开发包是python-dev,python3的开发包是python3-dev;
2、如果系统里装了多个版本的python,或者系统是64位,需要在编译参数里指定python-config-dir。

2、配置xdebug
这里下载最新版的xdebug,解压后,进入目录:

安装xdebug
    your_PHP_bin_path/PHPize
  1. ./configure
  2. make
  3. makeinstall
修改PHP.ini
PHP.ini
    zend_extension="/usr/local/modules/PHP/lib/PHP/extensions/no-debug-non-zts-20060613/xdebug.so"
  1. xdebug.remote_enable=1
  2. xdebug.remote_port=9000
  3. xdebug.remote_host=localhost
重启php-cgi或者web server后,查看PHPinfo,如果看到xdebug的参数信息,说明配置正确。

3、配置DBGp
这里下载最新版的DBGp vim插件,当然,最新版也是07年更新的了,不过不影响使用。
解压后,把
debugger.vim 和 debugger.py两个文件都放到vim的plugin目录下,就安装完成了,vim的插件就是这么简单。

4、调试
好了,磨完刀了,可以砍柴了,用vim打开一个PHP文件,然后在浏览器里通过http访问这个文件,后面加上?XDEBUG_SESSION_START=1参数,回到vim,摁下F5,然后在5秒内刷新刚才浏览器里打开的那个页面,vim就变成了这个样子:

5、调试技巧

F1 resize 调整窗口大小
F2 step into 单步执行
F3 step over
F4 step out
F5 run 开始执行,或跳至断点执行
F6 quit debugging 退出调试模式
F11 get all context 获取所有变量内容
F12 get property at cursor 获取当前光标变量内容
:Bp toggle breakpoint 设置断点
:Up stack up
:DN stack down

为了能看到PHP数组的值,还需要设置下.vimrc:
.vimrc
    letg:debuggerMaxDepth=5

猜你在找的Bash相关文章