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-get update  
  2. apt-get -y install gcc g++ make mercurial libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev wmctrl   

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

python
  1. sudo apt-get install python python-dev  

vim7.3编译参数:

vim7.3编译参数
  1. ./configure \  
  2.     --prefix=/usr/local/modules/vim/vim73 \  
  3.     --with-features=huge \  
  4.     --enable-pythoninterp=yes \  
  5.     --with-python-config-dir=/usr/lib64/python2.6/config \  
  6.     --enable-gui=gnome2 \  
  7.     --enable-cscope \  
  8.     --enable-fontset \  
  9.     --enable-perlinterp=yes \  
  10.     --enable-tclinterp \  
  11.     --enable-multibyte 
  12. 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
  1. your_php_bin_path/phpize  
  2. ./configure  
  3. make  
  4. make install  
修改php.ini
php.ini
  1. zend_extension = "/usr/local/modules/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"  
  2. xdebug.remote_enable = 1  
  3. xdebug.remote_port = 9000  
  4. 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就变成了这个样子:
大小: 182.5 K尺寸: 500 x 313浏览: 170 次点击打开新窗口浏览全图

5、调试技巧

F1resize调整窗口大小
F2step into单步执行
F3step over 
F4step out 
F5run开始执行,或跳至断点执行
F6quit debugging退出调试模式
F11get all context获取所有变量内容
F12get property at cursor获取当前光标变量内容
:Bptoggle breakpoint设置断点
:Upstack up 
:DNstack down 
   

为了能看到php数组的值,还需要设置下.vimrc:
.vimrc
  1. let g:debuggerMaxDepth = 5  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 下使用 Notepad++ 和 xdebug 调试 php 脚本 转自:http://www.mikespook.com/index.php/archives/98 介绍Notepad++ 是开放源代码的可替代记事本的编辑器。它运行于 MS Windows 环境,支持多种编程语言。可以浏览http://notepad-plus.sourceforge.net/ 了解更多相关信息。 Xdebugphp 的一个扩展,它提供了对 php 脚本进行除错、追踪、检查的各种功能。可以浏览 http://xdebug.org 了解更多相关信息。 下载Notepad++ 下载地址:http://www.baidu.com/link?url=uULkAaYHzZDZSGm8XOlPH8EPhKZCv8mcbQtmU82LssIoYsVDW2MdIi6g1hdcDKjpGacAHz0xtnxWZHuD1HWUEoL9qCFlDPS1jxAqOJ1ZrYe&wd;=&eqid=8c17eb080003c9bf000000035a1919ed Notepad++ 插件 DBGP plugin: http://download.csdn.net/download/hongjia88/10132543 xdebug:https://xdebug.org/download.php * xdebug 的版本需要匹配环境使用的 PHP 版本。 xdebug helper for firefox:https://addons.mozilla.org/zh-CN/firefox/addon/3960 安装Notepad++ 的安装方式如同大多数 Windows 下软件一样是非常简单的。只需按照屏幕提示设置并点击“下一步”,最后“完成”即可安装成功。 为了让 Notepad++ 和 xdebug 协同工作,需要安装 DBGP plugin。下载后只需解压缩至 Notepad++ 安装目录中的 plugins 目录即可,如:C:\Program Files\Notepad++\plugins。 xdebug 的安装请参考:http://www.mikespook.com/index.php/archives/34。需要说明的是,如果同时安装有 xcache 一定要先加载 xcache,再加载 xdebug。否则会造成 php 运行异常。 使用首先,将编写分别使用递归方式和使用循环方式计算100的阶乘的两个函数,如下: <?php function f1($x) // 循环计算 $x 的阶乘 { for($i = $x - 1; $i > 1; $i–) { $x *= $i; } return $x; } function f2($x) // 递归计算 $x 的阶乘 { if($x == 1) { return $x; } else { $y = $x - 1; return $x * f2($y); } } echo ‘f1: ‘ . f1(10); echo ‘’; echo ‘f2: ‘ . f2(10); 将该文件放入可通过 web 访问并由 php 正确解析的目录,访问结果如图: 使用 Notepad++ 打开这个文件。通常在文件上点击鼠标右键(或者左键,如果你跟我一个方向的话),选择“Edit with Notepad++”,如图: 如果你没有这项,或者无法使用 Notepad++,请检查是否正确的安装了 Notepad++。打开后的界面如图: 在 Notepad++ 的菜单“插件”中选择“DBGp”并点击“Debug”: 会在编辑器下半部分打开调试窗口: 此时就已经打开了编辑器端的调试功能。 现在需要配置notepad++,打开DBGp->Debugger->config,填写Remote Server ip为127.0.0.1,IDE Hey留空,Remote Path和Local Path都为存放你的php文件的路径,点击确定,OK。 注意C:\windows\php.ini中“xdebug.remote_port=9000”。 使用XDEBUG_SESSION_START=1参数访问刚才编写的文件,如:http://127.0.0.1/foobar.php?XDEBUG_SESSION_START=1 此时会发现 Notepad++ 窗口会闪烁一下,这说明 Notepad++ 的 DBGp 插件已经生效。将光标放置到需要设置断点的位置,并点击有红点的按钮,光标所在行前会显示一个红点,表示断点行,如图: 此时访问/foobar.php?XDEBUG_SESSION_STAR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值