Это не идеальный ответ, но вы можете окружить любой блок кода вызовами xdebug_start_trace () и xdebug_stop_trace () для генерации трассировки стека для целевого блока кода.Я использовал это, чтобы точно увидеть, что происходит в определенных точках в моих модульных тестах при тестировании кода других людей.
class SampleTest extends PHPUnit_Framework_TestCase
{
public function testBreakpoint()
{
xdebug_start_trace('/tmp/testBreakPointTrace');
$a = 18;
xdebug_stop_trace();
}
}
Просто имейте в виду, что любые ошибки приводят к появлению обработчика исключений PHPUnit изаставить трассировку стека выглядеть немного странно.Если вы получаете ошибку, вы можете получить чистый след, добавив выход;вызов сразу после xdebug_stop_trace:
class SampleTest extends PHPUnit_Framework_TestCase
{
public function testBreakpoint()
{
xdebug_start_trace('/tmp/testBreakPointTrace');
$a = 18;
xdebug_stop_trace();
exit;
}
}