每当我发出抛出异常的ajax请求时,Tracy调试器就会终止所有输出。
我已经关闭了特雷西测试,异常得到了输出。我只用了一个页面进行了测试(即:不是ajax),Tracy正确地输出了异常。
我相信我已经将问题追溯到Bluescreen :: render():
public function render($exception)
{
if (Helpers::isAjax() && session_status() === PHP_SESSION_ACTIVE) {
echo $exception->getMessage();
ob_start(function () {});
$this->renderTemplate($exception, __DIR__ . '/assets/BlueScreen/content.phtml');
$contentId = $_SERVER['HTTP_X_TRACY_AJAX'];
$_SESSION['_tracy']['bluescreen'][$contentId] = ['content' => ob_get_clean(), 'dumps' => Dumper::fetchLiveData(), 'time' => time()];
} else {
$this->renderTemplate($exception, __DIR__ . '/assets/BlueScreen/page.phtml');
}
}
我在顶部添加了echo
行。它得到输出。
我之所以询问SO而不提交错误报告的原因是因为今天早上它正在运行 - 输出异常文本,然后是回溯,然后是一条消息说"无法记录错误..."。所以我很确定问题是我的,但我无法弄明白。
我删除了我的Tracy副本,并从GitHub中重新删除,因此我使用了最新的&最好的版本。