国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

PHP調(diào)試之回溯跟蹤

Lavender / 2770人閱讀

摘要:前言在我們調(diào)試程序過(guò)程中,往往可能會(huì)出現(xiàn)需要回溯跟蹤一個(gè)方法,這里我就介紹兩個(gè)比較不錯(cuò)的函數(shù),也是我經(jīng)常使用的。內(nèi)容產(chǎn)生一條回溯跟蹤打印一條回溯。

前言

在我們調(diào)試程序過(guò)程中,往往可能會(huì)出現(xiàn)需要回溯跟蹤一個(gè)方法,這里我就介紹兩個(gè)比較不錯(cuò)的PHP函數(shù),也是我經(jīng)常使用的。

內(nèi)容
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
debug_backtrace — 產(chǎn)生一條回溯跟蹤(backtrace)

(PHP 5, PHP 7)
debug_print_backtrace — 打印一條回溯。

這兩個(gè)看起來(lái)有點(diǎn)相似,其實(shí)功能也是差不多的,下面我就以一個(gè)簡(jiǎn)單的例子向大家演示下他們的使用。

實(shí)例
";
    var_dump($content);
    echo "
"; } /** * Class A */ class A { public function say() { // 這里打印回溯內(nèi)容 dump(debug_backtrace()); // 調(diào)用本身方法打印 debug_print_backtrace(); echo "
"; echo "Hello World!"; } } /** * Class B */ class B { public function sayB(A $obj) { $obj->say(); } } /** * 測(cè)試結(jié)果 */ $a = new A(); $b = new B(); $b->sayB($a);

下面是運(yùn)行結(jié)果:

array(2) {
  [0]=>
  array(7) {
    ["file"]=>
    string(29) "D:phpStudyWWW	est	est.php"
    ["line"]=>
    int(43)
    ["function"]=>
    string(3) "say"
    ["class"]=>
    string(1) "A"
    ["object"]=>
    object(A)#1 (0) {
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(0) {
    }
  }
  [1]=>
  array(7) {
    ["file"]=>
    string(29) "D:phpStudyWWW	est	est.php"
    ["line"]=>
    int(52)
    ["function"]=>
    string(4) "sayB"
    ["class"]=>
    string(1) "B"
    ["object"]=>
    object(B)#2 (0) {
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(1) {
      [0]=>
      object(A)#1 (0) {
      }
    }
  }
}
#0 A->say() called at [D:phpStudyWWW	est	est.php:43] #1 B->sayB(A Object ()) called at [D:phpStudyWWW	est	est.php:52] 
Hello World!

結(jié)合代碼不難看出,他們著重返回結(jié)果集,拆分結(jié)構(gòu);另一個(gè)著重按調(diào)用順序打印出回溯跟蹤。

總結(jié)

內(nèi)容就這么多,結(jié)果一目了然,其他自己測(cè)試下就明了了。

PHP有些方法還是挺不錯(cuò)的,大家平時(shí)可以多看看手冊(cè)。

下面放了他們兩的官方鏈接,有興趣的可以點(diǎn)擊詳細(xì)看看。

debug_backtrace
debug_print_backtrace

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22827.html

相關(guān)文章

  • Java代碼審計(jì)連載—添油加醋

    摘要:在代碼審計(jì)中,按業(yè)務(wù)流程審計(jì)當(dāng)然是必須的,人工的流程審計(jì)的優(yōu)點(diǎn)是能夠更加全面的發(fā)現(xiàn)漏洞,但是缺點(diǎn)是查找漏洞效率低下。代碼審計(jì)學(xué)習(xí)之旅總有人問(wèn)我代碼審計(jì)該怎么學(xué)習(xí),該從哪學(xué)習(xí),現(xiàn)在統(tǒng)一回復(fù),表示我也不知道。。。 在代碼審計(jì)中,按業(yè)務(wù)流程審計(jì)當(dāng)然是必須的,人工的流程審計(jì)的優(yōu)點(diǎn)是能夠更加全面的發(fā)現(xiàn)漏洞,但是缺點(diǎn)是查找漏洞效率低下。如果要定向的查找漏洞,逆向跟蹤變量技術(shù)就顯得更加突出,如查找X...

    dunizb 評(píng)論0 收藏0
  • PHP性能測(cè)試?yán)?Xdebug和phpstorm

    摘要:是一個(gè)開(kāi)放源代碼的程序調(diào)試器即一個(gè)工具,可以用來(lái)跟蹤,調(diào)試和分析程序的運(yùn)行狀況。以下為安裝示例,安裝請(qǐng)參考集成開(kāi)發(fā)和斷點(diǎn)調(diào)試環(huán)境的配置。指令的配置路徑必須是絕對(duì)路徑。 Xdebug是一個(gè)開(kāi)放源代碼的PHP程序調(diào)試器(即一個(gè)Debug工具),可以用來(lái)跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。以下為Windows+Phpstorm+Xampp+Xdebug安裝示例,MAC安裝請(qǐng)參考集成開(kāi)發(fā)和斷...

    MoAir 評(píng)論0 收藏0
  • XDEBUG 從入門(mén)到精通

    摘要:默認(rèn)關(guān)閉如果該設(shè)置為,那么將禁用關(guān)閉操作符,以便不再隱藏通知警告和錯(cuò)誤。將寫(xiě)入垃圾收集統(tǒng)計(jì)信息輸出的目錄,確保將運(yùn)行的用戶(hù)具有對(duì)該目錄的寫(xiě)入權(quán)限。此設(shè)置確定用于將垃圾回收統(tǒng)計(jì)信息轉(zhuǎn)儲(chǔ)到的文件的名稱(chēng)。 showImg(https://segmentfault.com/img/bVbgEC5?w=480&h=274); 前言 Xdebug是PHP的擴(kuò)展,用于協(xié)助調(diào)試和開(kāi)發(fā)。 它包含一個(gè)用...

    leejan97 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<