Php 启动xdebug内部代码?

Php 启动xdebug内部代码?,php,debugging,xdebug,Php,Debugging,Xdebug,我知道启动Xdebug的以下方法: ?url中的XDEBUG\u SESSION\u START=name php.ini中的xdebug.remote\u autostart=On -dxdebug.remote_autostart=On作为PHP二进制调用的参数 但是我不知道如何在代码内部启动xdebug,是否有类似于xdebug\u start()和xdebug\u stop()的函数?这是一个ini设置,因此您可以执行以下操作: ini_set('xdebug.profiler_enab

我知道启动Xdebug的以下方法:

?url中的XDEBUG\u SESSION\u START=name

php.ini中的
xdebug.remote\u autostart=On

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


但是我不知道如何在代码内部启动xdebug,是否有类似于
xdebug\u start()
xdebug\u stop()
的函数?

这是一个ini设置,因此您可以执行以下操作:

ini_set('xdebug.profiler_enable', 1);
void xdebug_enable()启用堆栈跟踪

void xdebug_disable()禁用堆栈跟踪

同样来自手册:
xdebug\u start\u code\u coverage
xdebug\u get\u code\u 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());
?>  

为了在PHP代码中启动调试,而不是在启动时,您需要在
PHP.ini
中设置
xdebug.remote\u mode=jit
。然后,当您调用
xdebug\u break
时,调试会话将启动。

此ini设置不起作用:“无法在脚本中使用ini\u set()设置此设置。”
<?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());
?>