xdebug代码覆盖率原理

    技术2022-05-20  44

    很多人的误解:xdebug通过插入代码完成代码执行统计,其实不然,xdebug的原理如下:

    1、执行PHP脚本

    2XDEBUGModule_init中重写每种OPCODE的处理函数

    3PHP编译PHPOPCODE

    4Zend引擎开始执行OPCODE

    5、调用XdebugOPCODE处理函数,获取文件和行号信息,统计。

    6、返回ZEND_USER_OPCODE_DISPATCH,表示需要执行原生的Zend的处理函数

    #defineZEND_USER_OPCODE_DISPATCH   2 /* calloriginal opcode handler */

    7、执行原生的Zend的处理函数


    最新回复(0)