Отладка с помощью debug_backtrace

В блоге The programming and management blog опубликованы рекомендации по отладке кода с помощью debug_backtrace()

debug_backtrace возвращает весь стек функции до точки своего вызова.
Автор блога, Nick Halstead, предлагает свой вариант отладочной функции с использованием debug_backtrace.

function debug($msg, $label = 'DEBUG', 
               $stealth = FALSE) {
 
if (defined('DEBUG') && DEBUG) {
 if (is_bool($msg)) {
  $msg = $msg ? 'TRUE' : 'FALSE';
 }
 $display = $stealth ? ' style="display: none;"' : '';
 $backtrace = debug_backtrace();
 $debug = array();
 $stack = (isset($backtrace[1]['class'])
 ? "{$backtrace[1]['class']}::" : '')
   	. (isset($backtrace[1]['function']) 
 ? "{$backtrace[1]['function']}" : '');
 if ($stack) {
   $debug[] = $stack;
 }
$debug[] = "Line {$backtrace[0]['line']} of
 {$backtrace[0]['file']}";
   $debug = implode('
', $debug); print "{$label}: {$debug}:
".print_r($msg, 1)." \n”; } }

Конечно, как подмечает автор, это не заменит XDebug, но вполне поможет при его отсутствии.