码迷,mamicode.com
首页 > 其他好文 > 详细

xdebug远程调试原理分析

时间:2015-08-01 23:29:30      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序。当PHP程序被暂停的时候,xdebug可以获取到程序的有关 信息,比如变量的值等。xdebug也可以修改一个变量的值,然后再恢复暂停的程序,让其继续运行。
  xdebug配合IDE执行 可视化调试的流程 (类似于VisualStudio单步调试)被称为“远程调试”,是因为调试时有一个Server(xdebug)和一个Client(IDE),所以在调试的时候,被调试的PHP程序和调试PHP程序的IDE可以不在同一台计算机 上。
  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将会为你完成 这些疑问 。

 

 

Xdebug断点调试的工作原理详解

http://www.softown.cn/post/117.html

xdebug远程调试原理分析

标签:

原文地址:http://www.cnblogs.com/Alight/p/4694845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!