PHPでのスタックのデバッグ

WBOY
WBOYオリジナル
2016-08-08 09:19:501053ブラウズ

現在の関数によってどのファイルが呼び出されるか知りたいですか? これらのパスが分かれば、プログラムの実行プロセスをよく理解できます。これは非常に重要であり、他の人のプログラムを理解するための基礎にもなります。 phpでスタックデバッグする方法を紹介しますdebug_backtrace();

詳しくはマニュアルを読む必要があります。明るい未来がある人たち

<code>$statcks = debug_backtrace();
$tmp_arr = array();
<span>if</span>(!$stacks) <span>return</span> $tmp_arr;
foreach($stacks as $k=>$v)
        {
            $tmp[$k][<span>'file'</span>] = isset($v[<span>'file'</span>]) ? $v[<span>'file'</span>] : <span>'--'</span>;
            $tmp[$k][<span>'line'</span>] = isset($v[<span>'line'</span>])? $v[<span>'line'</span>] : <span>'--'</span>;
            $tmp[$k][<span>'function'</span>] = isset($v[<span>'function'</span>]) ? $v[<span>'function'</span>] : <span>'--'</span>;
        }


Array
(
    [<span>0</span>]<span> =></span> Array
        (
            [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\application\controllers\finance\channel.php
            [line]<span> =></span><span>128</span>
            [<span>function</span>]<span> =></span> get_total_rows
        )

    [<span>1</span>]<span> =></span> Array
        (
            [file]<span> =></span> --
            [line]<span> =></span> --
            [<span>function</span>]<span> =></span> index
        )

    [<span>2</span>]<span> =></span> Array
        (
            [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\application\controllers\finance\channel.php
            [line]<span> =></span><span>46</span>
            [<span>function</span>]<span> =></span> call_user_func
        )

    [<span>3</span>]<span> =></span> Array
        (
            [file]<span> =></span> --
            [line]<span> =></span> --
            [<span>function</span>]<span> =></span> get_nav
        )

    [<span>4</span>]<span> =></span> Array
        (
            [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\system\core\CodeIgniter.php
            [line]<span> =></span><span>360</span>
            [<span>function</span>]<span> =></span> call_user_func_array
        )

    [<span>5</span>]<span> =></span> Array
        (
            [file]<span> =></span><span>D</span>:\wwwroot\CodeIgniter\index.php
            [line]<span> =></span><span>205</span>
            [<span>function</span>]<span> =></span> require_once
        )

)</code>

ここに印刷された配列があります、それはとても良いです

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、PHP のスタック デバッグについてその側面も含めて紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。