запуск xdebug внутри кода? - PullRequest
       6

запуск xdebug внутри кода?

5 голосов
/ 14 ноября 2011

Я знаю эти способы запуска Xdebug:

?XDEBUG_SESSION_START=name в URL

xdebug.remote_autostart=On в php.ini

-dxdebug.remote_autostart=On как параметр для бинарного вызова PHP

но я не знаю, как запустить xdebug внутри кода, есть ли такие функции, как xdebug_start() и xdebug_stop()?

Ответы [ 3 ]

7 голосов
/ 14 ноября 2011
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());
?>  
7 голосов
/ 14 ноября 2011

Чтобы начать отладку где-то еще в вашем PHP-коде, чем в начале, вам нужно установить xdebug.remote_mode=jit в php.ini. Затем при вызове xdebug_break начинается сеанс отладки.

0 голосов
/ 14 ноября 2011

Это настройка ini, поэтому вы можете сделать:

ini_set('xdebug.profiler_enable', 1);
...