magento 1.xでは、次のようなバックトレースを使用できます。
echo Varien_Debug::backtrace(true, true); exit;Magento 2でこの機能をどのように使用できますか?
magento 1.xでは、次のようなバックトレースを使用できます。
echo Varien_Debug::backtrace(true, true); exit;Magento 2でこの機能をどのように使用できますか?
回答:
debug_backtrace()以下に追加したように使用できます。
$debugBackTrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
foreach ($debugBackTrace as $item) {
    echo @$item['class'] . @$item['type'] . @$item['function'] . "\n";
}参考までにご確認ください
 dev\tests\api-functional\framework\Magento\TestFramework\TestCase\Webapi\Adapter\Rest\DocumentationGenerator.php
Magento 2のロガークラスでは、debug_backtraceメソッドは直接使用されません。
したがって、バックトレースを行うMagento 2の方法は、Magento\Framework\Debugクラス(M1 Varien_Debugクラスに相当)を使用して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)
{
    $trace = debug_backtrace();
    return self::trace($trace, $return, $html, $withArgs);
}どのPHPアプリケーションでも、次のことができます。
$e = new \Exception();
echo '<pre>';
print_r($e->getTraceAsString()); 
exit;M2の名前間隔のためnew \Exception();、単にではなく、new Exception();
print_r((new \Exception())->getTraceAsString());(PHP 5.4以降、M2で使用しても安全)
                    PHP関数debug_backtraceを使用して、Magentoでデバッグできます。
magentoで次のコードを使用し、debug_backtraceを使用して問題を追跡します
foreach (debug_backtrace() as $_stack) {
    echo ($_stack["file"] ? $_stack["file"] : '') . ':' .
        ($_stack["line"] ? $_stack["line"] : '') . ' - ' .
        ($_stack["function"] ? $_stack["function"] : '').'<br/><hr/>';
 }
exit();問題のソースを定義できるデバッグバックトレースが表示され、問題の修正方法がわかります。
@たとえば、警告'class'が存在しない場合など、無視していた)