linux下vim实现php远程调试环境搭
首先是必需组件的安装。
有三个,vim的DBGp插件,php的xdebug扩展,Chrome浏览器的xdebug helper扩展。
一: vim 安装 dbgp client 插件 下载 DBGp client
$ cd ~/.vim/ $ wget http://www.vim.org/scripts/download_script.php?src_id=7285 -O debugger.zip $ unzip debugger.zip
具体安装方法就不讲了,网上例子很多. 官方安装说明 .
我把我的配置信息贴出来:
[Xdebug] zend_extension="/home/s/apps/php-5.2.6/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" xdebug.profiler_enable=0 ;开启profile xdebug.profiler_enable_trigger=1 ;使用触发器开启profile xdebug.profiler_output_dir="/home/s/logs/xdebugLog" xdebug.auto_trace=0 ;开启trace xdebug.trace_enable_trigger=1 ;使用触发器开启trace xdebug.trace_output_dir="/home/s/logs/xdebugLog" xdebug.cli_color=1 xdebug.collect_params=2 xdebug.collect_return=on ;remote debug ;开启远程调试 xdebug.remote_enable=1 xdebug.remote_autostart=Off xdebug.remote_port=9000 ;远程端口,不是你web服务的端口,如果没有冲突,一般不用修改。
地址: https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
如果在 chrome://apps里搜索xdebug helper搜索不到,记得把你的语言改为 English.
xdebug-helper-introduction20140226142342
xdebug helper两处配置要注意, </span>IDE Key要注意选择Other, 值为1,然后保存。 </span>第二个是domain白名单,如果不希望每个页面都出调试的debug icon,就把开发时的域名填进来,比如localhost神马的。其实icon很小,也不太碍事,可以不用设置。
开始使用 :
如果不要debug调试,只是需要记录profile和trace信息,看一下性能问题,那么很简单,直接在chrome访问对应的url,会在url右侧看到一个xdebg helper 的小icon,点击后,选择 profile或trace,再刷新,就可以在预先设置的目录见到对应的文件了。
cachegrind* 是profile的文件,trace* 是trace的文件。
在windows下使用WinCacheGrind可以方便的查看profile的信息。
xdebug_helper_debug_profile_trace
xdebug_output_file_trace_profile
winCacheGrind_output
最后,是 如何开启远程调试 .
用vim编辑程序文件,在需要中断的地方使用:Bp命令打上断点。然后按F5执行监听。
这个时候,vim会提示 waiting for a new connection on port 9000 for 5 seconds… ,所以这个时候你需要在5s内向服务端发起带中断的请求,在前边的url地址,我们把xdebug helper的debug选择上,刷新页面,vim就会进入中断了。右侧有相关提示,我们就可以按GDB的方式逐步调试啦。如果没有安装xdebug helper,也无所谓,自己手动在url上拼接一个参数: &XDEBUG_SESSION_START=1 也可以开启远程调试的。xdebug_remote_debug_how
转自: http://digdeeply.org/archives/tag/dbgp </div>