前提:
1、php需要安装xdebug
2、notepad++ 需要安装DBGP插件
zend_extension = "c:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9-x86_64.dll"
[xdebug]
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.idekey=default
;xdebug.remote_log="c:/wamp/tmp"
xdebug.remote_port=9000
xdebug.show_exception_trace=0
xdebug.show_local_vars=9
xdebug.show_mem_delta=0
xdebug.trace_format=0
设置:插件-->DBGp-->config
使用XDEBUG_SESSION_START=1参数访问刚才编写的文件,如:http://127.0.0.1/foobar.php?XDEBUG_SESSION_START=1
补充一下的是:如果是用 firefox 访问页面,并且安装了 xdebug helper 的话。开启 xdebug helper 即可直接调试。 不需要再添加 XDEBUG_SESSION_START 参数。
之前无法使用的按钮,现在也可点击,可实现“Step Into”、“Step Over”、“Step Out”、“Run to cursor”、“Run”操作:
打开 Local Context 标签,点击鼠标右键选择“Refresh”,可以显示当前所有局部变量:
而对 Global Context 标签做同样的操作将显示所有全局变量:
Stack 标签可以显示栈的使用情况,这对于调试函数调用很有帮助。例如本例中的递归方式计算阶乘:
调试完毕或后可以将光标放置在断点处,再次点击断点按钮取消断点。然后点击“Run”按钮或按 F9 继续程序的执行。也可直接点击“Trun OFF” 按钮关闭调试功能。
特别要提一下的是Eval 按钮的功能。这个按钮可以动态改变某个变量的内容,以方便调试:
至此,Notepad++ 配合 xdebug 对 PHP 进行调试的基本功能就介绍完了。调试是非常讲究技巧和经验的,真正发挥调试的威力,还要大家在实际使用中总结和提高。在我有时间的时候,我会继续 VIM 配合 xdebug 的介绍,同时录制一些屏幕录像给大家参考。
此时会发现 Notepad++ 窗口会闪烁一下,这说明 Notepad++ 的 DBGp 插件已经生效