Подтвердить что ты не робот

Могу ли я вручную указать на профилировщике xdebug, чтобы начать профилирование в определенном месте?

Я уже включил профилирование xDebug в моей установке XAMPP, и он отлично работает.

Теперь мне нравится спрашивать, есть ли способ сказать из моего исходного кода, когда начинать профилирование с помощью xDebug.

Более конкретно, я бы хотел создать плагин WordPress, и я хотел бы сказать, начните профилирование с начальной точки плагина и прекратите профилирование в конечной точке плагина.

Возможно ли это?

Примечание. Вышеприведенное является просто примером. Это может быть плагин CakePHP или новый PHP-класс, который мне может понадобиться для профиля

4b9b3361

Ответ 1

Изменить: на Как включить/выключить Xdebug Profiling во время выполнения? вы не можете включить/отключить во время выполнения (например, для вызова функции).

Вы можете выборочно включать профилировщик на запрос, что обычно лучше. Для достижения такого поведения установите следующие настройки:

xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0

Обратите внимание, что мы отключили профайлер и включили только триггер. Из вашего браузера передайте XDEBUG_PROFILE = 1

http://example.com/file.php?XDEBUG_PROFILE=1

Вы также можете передать этот параметр в POST или COOKIE. Для получения дополнительной информации

Ответ 2

Как заявил Лайт, вы не можете выбрать, когда вы хотите, чтобы xDebug начал профилирование и когда вы хотите, чтобы он остановился. Но, еще одна функция xDebug предлагает такую ​​гибкость: трассировку.

Профилирование и трассировка - это не совсем то же самое, но если вы закончите здесь, возможно, что трасса может удовлетворить ваши потребности.

Чтобы начать трассировку, вы должны использовать эту функцию: xdebug_start_trace()

Чтобы остановить трассировку, вы должны использовать эту функцию: xdebug_stop_trace()

Существует множество настроек, которые вы можете использовать для изменения поведения трассировки:

http://xdebug.org/docs/execution_trace