#profiling #xdebug #kcachegrind
#профилирование #ошибка xdebug #kcachegrind
Вопрос:
Я новичок в профилировании. Я пытаюсь профилировать свой PHP с помощью xdebug.
Файл cachegrind создается, но не содержит значительного содержимого
Я установил xdebug.profiler_enable_trigger = 1 xdebug.profiler_output_name = cachegrind %p %H %R.cg
Я вызываю свою страницу с дополнительным параметром GET?XDEBUG_PROFILE=1 Мой файл cachegrind сгенерирован, но не имеет значительного содержимого
Вот мой вывод:
version: 1
creator: xdebug 2.7.0alpha1 (PHP 7.0.30-dev)
cmd: C:WPNserverwwwDMResourcesClassesVendorClassesPHPMySQLiDatabaseMysqliDb.php
part: 1
positions: line
events: Time Memory
fl=(1)
fn=(221) php::mysqli->close
1244 103 -14832
fl=(42)
fn=(222) MysqliDbExt->__destruct
1239 56 0
cfl=(1)
cfn=(221)
calls=1 0 0
1244 103 -14832
Вот и все — я, должно быть, упускаю что-то фундаментальное.
Ответ №1:
Я думаю, вы столкнулись с этой ошибкой в xdebug. Как предложил Дерик в журнале отслеживания проблем, вы можете обойти эту проблему, добавив %r к выходному имени профилировщика. например: xdebug.profiler_output_name = cachegrind %p %H %R %r.cg (с добавлением %r случайного числа к имени)