摘要:我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。英文原始文檔地址中文文檔地址替換了的函數(shù)來顯示變量。通過,或函數(shù)軌跡顯示變量時,控制數(shù)組元素和對象屬性的嵌套級別。
文檔內(nèi)容來自xdebug.org/docs,翻譯時xdebug版本為2.6。我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。
英文原始文檔地址:https://xdebug.org/docs/
中文文檔github地址:https://github.com/Anoxia/xde...
Xdebug替換了PHP的var_dump()函數(shù)來顯示變量。Xdebug的版本包含不同類型的不同顏色,并限制數(shù)組元素/對象屬性的數(shù)量,最大深度和字符串長度。還有一些其他功能處理變量顯示。
設(shè)置對var_dump的影響有許多設(shè)置可以控制Xdebug修改的var_dump()函數(shù)的輸出 :xdebug.var_display_max_children,xdebug.var_display_max_data和xdebug.var_display_max_depth。這三個設(shè)置的效果最好用一個例子來展示。下面的腳本運行四次,每次都有不同的設(shè)置。您可以使用這些標(biāo)簽來查看差異。
代碼:
pub = $t; $data = array( "one" => "a somewhat long string!", "two" => array( "two.one" => array( "two.one.zero" => 210, "two.one.one" => array( "two.one.one.zero" => 3.141592564, "two.one.one.one" => 2.7, ), ), ), "three" => $t, "four" => range(0, 5), ); var_dump( $data ); ?>
輸出(默認(rèn)值):
array "one" => string "a somewhat long string!" (length=23) "two" => array "two.one" => array "two.one.zero" => int 210 "two.one.one" => array ... "three" => object(test)[1] public "pub" => &object(test)[1] private "priv" => boolean true protected "prot" => int 42 "four" => array 0 => int 0 1 => int 1 2 => int 2 3 => int 3 4 => int 4 5 => int 5
輸出(xdebug.var_display_max_children = 2):
array "one" => string "a somewhat long string!" (length=23) "two" => array "two.one" => array "two.one.zero" => int 210 "two.one.one" => array ... more elements...
輸出(xdebug.var_display_max_data = 16):
array "one" => string "a somewhat long "... (length=23) "two" => array "two.one" => array "two.one.zero" => int 210 "two.one.one" => array ... "three" => object(test)[1] public "pub" => &object(test)[1] private "priv" => boolean true protected "prot" => int 42 "four" => array 0 => int 0 1 => int 1 2 => int 2 3 => int 3 4 => int 4 5 => int 5
輸出(xdebug.var_display_max_depth = 2):
array "one" => string "a somewhat long string!" (length=23) "two" => array "two.one" => array ... "three" => object(test)[1] public "pub" => &object(test)[1] private "priv" => boolean true protected "prot" => int 42 "four" => array 0 => int 0 1 => int 1 2 => int 2 3 => int 3 4 => int 4 5 => int 5
輸出(xdebug.var_display_max_children = 3,xdebug.var_display_max_data = 8,xdebug.var_display_max_depth = 1):
array "one" => string "a somewh"... (length=23) "two" => array ... "three" => object(test)[1] ... more elements...相關(guān)設(shè)置 xdebug.cli_color
該功能僅適用于Xdebug> = 2.2
類型:整數(shù),默認(rèn)值:0,
如果此設(shè)置為1,則在CLI模式下以及輸出為tty時,var_dumps和堆棧跟蹤Xdebug將著色輸出。在Windows上, 需要安裝ANSICON工具。
如果設(shè)置為2,那么無論是否連接到tty或是否安裝ANSICON,Xdebug將始終為var_dumps和堆棧跟蹤著色。在這種情況下,您最終可能會看到轉(zhuǎn)義碼。
看到這篇文章的一些更多的信息。
xdebug.overload_var_dump該功能僅適用于Xdebug> = 2.1
當(dāng)php.ini中html_errors設(shè)置為1或2時,Xdebug會默認(rèn)更改var_dump輸出。如果您不希望如此,您可以將其值設(shè)置為0,但是首先檢查是否智能關(guān)閉html_errors。
該值設(shè)置為2時,除了很好的格式化var_dump()輸出外,它還會將文件名和行號添加到輸出中。
在Xdebug 2.4之前,這個設(shè)置的默認(rèn)值是 1。
xdebug.var_display_max_children類型:整數(shù),默認(rèn)值:128
當(dāng)使用xdebug_var_dump(), xdebug.show_local_vars或通過函數(shù)軌跡顯示變量時,控制數(shù)組的數(shù)量和子對象的屬性。
要禁用任何限制,請使用-1作為值。
此設(shè)置對通過遠(yuǎn)程調(diào)試功能發(fā)送給客戶端的子項數(shù)量沒有任何影響。
xdebug.var_display_max_data類型:整數(shù),默認(rèn)值:512
控制使用xdebug_var_dump(), xdebug.show_local_vars或通過函數(shù)軌跡顯示變量時顯示的最大字符串長度。
要禁用任何限制,請使用-1作為值。
此設(shè)置對通過遠(yuǎn)程調(diào)試功能發(fā)送給客戶端的子項數(shù)量沒有任何影響。
xdebug.var_display_max_depth通過xdebug_var_dump(), xdebug.show_local_vars或函數(shù)軌跡顯示變量時,控制數(shù)組元素和對象屬性的嵌套級別。
您可以選擇的最大值是1023。您也可以使用-1作為值來選擇此最大值。
此設(shè)置對通過遠(yuǎn)程調(diào)試功能發(fā)送給客戶端的子項數(shù)量沒有任何影響。
相關(guān)函數(shù) void var_dump( [mixed var [, ...]] )顯示有關(guān)變量的詳細(xì)信息
這個函數(shù)被Xdebug重載,參見xdebug_var_dump()的描述 。
void xdebug_debug_zval( [string varname [, ...]] )顯示有關(guān)變量的信息
此功能顯示有關(guān)一個或多個變量的結(jié)構(gòu)化信息,其中包括其類型,值和引用計數(shù)信息。數(shù)組通過值遞歸地進(jìn)行探索。這個函數(shù)的實現(xiàn)方式與PHP的debug_zval_dump()函數(shù)不同,是用來解決debug_zval_dump()函數(shù)存在的問題,因為變量本身實際上被傳遞給函數(shù)。Xdebug的版本更好,因為它使用變量名查找內(nèi)部符號表中的變量,并直接訪問所有屬性,而不必處理實際將變量傳遞給函數(shù)。結(jié)果是這個函數(shù)返回的信息比PHP自己的顯示zval信息的函數(shù)要準(zhǔn)確得多。
自Xdebug 2.3以來, 支持除簡單變量名稱(如下面的“a [2]”)之外的任何其他內(nèi)容。
例:
輸出:
a: (refcount=2, is_ref=1)=array ( 0 => (refcount=1, is_ref=0)=1, 1 => (refcount=1, is_ref=0)=2, 2 => (refcount=2, is_ref=1)=3) a[2]: (refcount=2, is_ref=1)=3void xdebug_debug_zval_stdout( [string varname [, ...]] )
將有關(guān)變量的信息返回到stdout。
此功能顯示有關(guān)一個或多個變量的結(jié)構(gòu)化信息,其中包括其類型,值和引用計數(shù)信息。數(shù)組通過值遞歸地進(jìn)行探索。與xdebug_debug_zval()的不同之處在于信息不是通過Web服務(wù)器API層顯示的,而是直接顯示在標(biāo)準(zhǔn)輸出上(所以當(dāng)你在單進(jìn)程模式下運行Apache時,它將在控制臺上輸出)。
例:
輸出:
a: (refcount=2, is_ref=1)=array ( 0 => (refcount=1, is_ref=0)=1, 1 => (refcount=1, is_ref=0)=2, 2 => (refcount=2, is_ref=1)=3)void xdebug_dump_superglobals()顯示有關(guān)超級全局的信息
這個函數(shù)按照xdebug.dump.*在php.ini的設(shè)置轉(zhuǎn)儲超級全局元素的值。對于下面的例子,php.ini中的設(shè)置是:
xdebug.dump.GET=* xdebug.dump.SERVER=REMOTE_ADDR Query string: ?var=fourty%20two&array[a]=a&array[9]=b返回:
Dump $_SERVER | |
---|---|
$_SERVER["REMOTE_ADDR"] = | string "127.0.0.1" *(length=9)* |
Dump $_GET | |
---|---|
$_GET["var"] = | string "fourty two" *(length=10)* |
$_GET["array"] = | **array** "a" => string "a" *(length=1)* 9 => string "b" *(length=1)* |
顯示有關(guān)變量的詳細(xì)信息
此功能顯示關(guān)于一個或多個表達(dá)式的結(jié)構(gòu)化信息,包括其類型和值。數(shù)組通過值遞歸地進(jìn)行探索。請參閱php.ini設(shè)置影響此功能的變量顯示功能的介紹(上文)。
例:
foo = "bar"; $c->file = fopen( "/etc/passwd", "r" ); var_dump( array( array(TRUE, 2, 3.14, "foo"), "object" => $c ) ); ?>
輸出:
array 0 => array 0 => boolean true 1 => int 2 2 => float 3.14 more elements... "object" => object(stdClass)[1] public "foo" => string "bar" (length=3) public "file" => resource(3, stream)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28131.html
摘要:我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。英文原始文檔地址中文文檔地址目錄安裝本節(jié)介紹各個操作系統(tǒng)下如何安裝。堆棧跟蹤本節(jié)介紹當(dāng)被激活時,只要決定顯示通知,警告,錯誤等,就會顯示堆棧跟蹤。 文檔內(nèi)容來自xdebug.org/docs,翻譯時xdebug版本為2.6。我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看...
摘要:我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。控制堆棧跟蹤中顯示的堆棧幀的數(shù)量,包括錯誤堆棧跟蹤期間的命令行以及跟蹤的瀏覽器。 文檔內(nèi)容來自xdebug.org/docs,翻譯時xdebug版本為2.6。我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。 英文原始文檔地址:https://xdebug....
摘要:英文原始文檔地址中文文檔地址當(dāng)被激活時,只要決定顯示通知,警告,錯誤等,就會顯示堆棧跟蹤。堆棧跟蹤中的變量默認(rèn)情況下,將在它生成的堆棧跟蹤中顯示可變信息。 文檔內(nèi)容來自xdebug.org/docs,翻譯時xdebug版本為2.6。我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。 英文原始文檔地址:https://xdebug.org/docs...
摘要:我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。英文原始文檔地址中文文檔地址預(yù)編譯的模塊有幾個預(yù)編譯模塊,它們都是的非調(diào)試版本。按照這些指示安裝。 文檔內(nèi)容來自xdebug.org/docs,翻譯時xdebug版本為2.6。我在官方文檔基礎(chǔ)上針對中文排版和教程內(nèi)容的編排做了一些優(yōu)化,希望中文文檔看起來更容易理解。 英文原始文檔地址:https:...
摘要:寫代碼總繞不過需要調(diào)試,除了外,我們還是需要借助進(jìn)行調(diào)試。這里的使用,是分別整合到和下。安裝還是基于神級武器。至于下一步如何更好的使用,就看各自的實際項目和開發(fā)需要了。 寫代碼總繞不過需要調(diào)試,除了 UnitTest 外,我們還是需要借助 Xdebug 進(jìn)行調(diào)試。 所以今天來說說如何基于本地 Docker 環(huán)境下,使用 Xdebug。 這里的使用,是分別整合到 VS Code 和 PH...
閱讀 2791·2021-11-22 14:45
閱讀 2929·2021-09-10 11:26
閱讀 3251·2021-09-07 10:18
閱讀 2227·2019-08-30 14:08
閱讀 624·2019-08-29 12:22
閱讀 1397·2019-08-26 13:48
閱讀 2539·2019-08-26 10:24
閱讀 1158·2019-08-23 18:35