Якщо ви працюєте з багатьма різними екземплярами Magento як з тимчасовим проектом, вам може знадобитися зручний метод для швидкої перевірки зворотного трасування виконання деяких функцій у Magento 2 без встановлення або ввімкнення додаткового програмного забезпечення на сервері, наприклад, Xdebug.

У цьому випадку ви можете використовувати рідну платформу Magento. функція backtrace з класу \Magento\Framework\Debug та викликайте її щоразу, коли вам потрібно:

\Magento\Framework\Debug::backtrace(false, true, false);

В результаті ви отримаєте цей гарний HTML-код debug-backtrace:

 Magento 2 Debug Backtrace

Ви також можете викликати функцію exit , щоб зупинити подальше виконання коду одразу після backtrace.

Ось більше інформації про метод backtrace:

/**
* Prints or returns a backtrace
*
* @param bool $return return or print
* @param bool $html output in HTML format
* @param bool $withArgs add short arguments of methods
* @return string|bool
*/
public static function backtrace($return = false, $html = true, $withArgs = true)

Додаткове рішення для backtrace налагодження

Якщо вам не подобається вигляд стандартного backtrace Magento, ви можете використовувати власну функцію. Просто тимчасово скопіюйте цей код у свій PHP-клас:

public static function debugHtmlBacktrace($title = '')
{
    $result = '';
    foreach(debug_backtrace() as $_stack) {
        $result .= '<tr>
            <td>' . (isset($_stack['file']) ? $_stack['file'] : '') . '</td>
            <td>' . (isset($_stack['line']) ? $_stack['line'] : '') . '</td>
            <td>' . (isset($_stack['function']) ? $_stack['function'] : '') . '</td>
        </tr>';
   }

    return '<br/>' . $title . '<table border="1">
        <tr><td>File</td><td>Line</td><td>Function</td></tr>' . $result . '</table>';
}

та виконайте його за допомогою:

echo self::debugHtmlBacktrace();

Ось приклад результату:

 Magento 2 Debug Backtrace