xdebug:xdebug远程调试原理分析

  xdebug可以控制PHP执行这意味着xdebug可以在任何时候暂停或者恢复正在运行PHP当PHP被暂停时候xdebug可以获取到相关信息比如变量值等xdebug也可以修改个变量然后再恢复暂停让其继续运行

  xdebug配合IDE进行可视化调试过程(类似于VisualStudio单步调试)被称为“远程调试”调试时有个Server(xdebug)和个Client(IDE)所以在调试时候被调试PHP和调试PHPIDE可以不在同台电脑上

  xdebug在进行远程调试时候扮演个Server角色它会在个指定端口(默认是9000)等待IDE连接目前有2种通信协议GDB和DBGp其中DBGp是DBG取代协议IDE在执行调试时候给xdebug发送需要执行命令xdebug接受到命令后执行然后将执行情况和获得PHP运行信息返回给IDE现在很多IDE都实现了和xdebug通信协议比如Eclipse PDT

  Xdebug远程调试有2种方式:

  1 req:在PHP开始执行时候xdebug和IDE建立连接

  2 jit:在PHP执行到断点处或者遇到Error时候xdebug才和IDE建立连接

  开启xdebug远程调试需要通过GET, POST或是cookie方式传入个XDEBUG_SESSION_START变量XDEBUG_SESSION_START变量值代表个session名称通过这种形式xdebug可以分辨出区别session如果要结束个session可以通过同样形式传入个XDEBUG_SESSION_STOP

  如果使用Eclipse PDT你可以不用关心这些参数Eclipse将会为你搞定这些问题

Tags:  xdebug配置 phpxdebug netbeansxdebug xdebug

延伸阅读

最新评论

发表评论