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
首先安装依赖包:
依赖包
- apt-getupdate
- 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
- --prefix=/usr/local/modules/vim/vim73
- --with-features=huge
- --enable-pythoninterp=yes
- --with-python-config-dir=/usr/lib64/python2.6/config
- --enable-gui=gnome2
- --enable-cscope
- --enable-fontset
- --enable-perlinterp=yes
- --enable-tclinterp
- --enable-multibyte
- 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
- ./configure
- make
- makeinstall
修改php.ini
php.ini
zend_extension="/usr/local/modules/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
- xdebug.remote_enable=1
- xdebug.remote_port=9000
- 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
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|