在代码中启动xdebug


starting xdebug inside code?

我知道这些启动Xdebug的方法:

?XDEBUG_SESSION_START=name

xdebug.remote_autostart=On in php.ini

-dxdebug.remote_autostart=On作为PHP二进制调用的参数

但我不知道如何启动xdebug内部代码,是否有像xdebug_start()xdebug_stop()的功能?

为了在PHP代码的其他地方开始调试,您需要在php.ini中设置xdebug.remote_mode=jit。然后,当您调用xdebug_break时,调试会话将启动。

xdebug_enable()
xdebug_disable()

void xdebug_enable()启用堆栈跟踪

void xdebug_disable()禁用堆栈跟踪

http://xdebug.org/docs/all_functions

同样来自手册:xdebug_start_code_coverage, xdebug_get_code_coverage

<?php
    xdebug_start_code_coverage();
    function a($a) {
        echo $a * 2.5;
    }
    function b($count) {
        for ($i = 0; $i < $count; $i++) {
            a($i + 0.17);
        }
    }
    b(6);
    b(10);
    var_dump(xdebug_get_code_coverage());
?>  

这是一个ini设置,所以你可以这样做:

ini_set('xdebug.profiler_enable', 1);