Можно ли просмотреть методы расширенного класса исключений Xdebug? Я хочу получить трассировку стека в формате HTML.
Поэтому после взлома в нем нет такого метода, как Niels, но есть общедоступное свойство, называемое $ exception-> xdebug_message, которое имеет сообщение в формате HTML. Не забудьте обернуть его в тег таблицы, если вы разместите его на странице HTML.
echo '<table>'; echo $exception->xdebug_message; echo '</table>';
Чтобы получить трассировку, выведенную на вывод HTML:
ob_start(); xdebug_print_function_stack(); $myFancyHTMLOutput = ob_get_clean();
Передайте параметр XDEBUG_STACK_NO_DESC
чтобы оставить заголовок.
Тем не менее, Xdebug на самом деле не get_class_methods($e)
видимые методы в Exception
, о чем свидетельствует печать get_class_methods($e)
внутри обработчика исключений:
array (size=9) 0 => string '__construct' (length=11) 1 => string 'getMessage' (length=10) 2 => string 'getCode' (length=7) 3 => string 'getFile' (length=7) 4 => string 'getLine' (length=7) 5 => string 'getTrace' (length=8) 6 => string 'getPrevious' (length=11) 7 => string 'getTraceAsString' (length=16) 8 => string '__toString' (length=10)
Конечно, вы всегда можете отформатировать его самостоятельно из массива, возвращаемого getTrace
, но это не имеет ничего общего с Xdebug и просто встроено в функциональность .