可能大家都知道,php中有乙個函式叫debug_backtrace,它可以回溯跟蹤函式的呼叫資訊,可以說是乙個除錯利器。
好,來複習一下。
01
one();
02
03
function
one()
06
07
function
two()
10
11
function
three()
14
15
/*
16
輸出:
17
array
18
(
19
[0] => array
20
(
21
[file] => d:\apmserv\www\htdocs\test\debug\index.php
22
[line] => 10
23
[function] => three
24
[args] => array
25
(
26
)
27
28
)
29
30
[1] => array
31
(
32
[file] => d:\apmserv\www\htdocs\test\debug\index.php
33
[line] => 6
34
[function] => two
35
[args] => array
36
(
37
)
38
39
)
40
41
[2] => array
42
(
43
[file] => d:\apmserv\www\htdocs\test\debug\index.php
44
[line] => 3
45
[function] => one
46
[args] => array
47
(
48
)
49
50
)
51
52
)
53
*/
順便提一下類似的函式:debug_print_backtrace,與之不同的是它會直接列印回溯資訊。
回來看debug_backtrace,從名字來看用途很明確,是讓開發者用來除錯的。直到有一天我注意到它返回的file引數,file表示函式或者方法的呼叫指令碼**(在哪個指令碼檔案使用的)。忽然我想到,如果當前指令碼知道呼叫**,那是否可以根據這個**的不同,來實現一些有趣的功能,比如檔案許可權管理、動態載入等。
gdb 除錯利器
gdb是乙個由gnu開源組織公布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式猿,gdb是不可缺少的工具 對c c 程式的除錯。須要在編譯前就加上 g選項 g g hello.cpp o hello 除錯可執行檔案 gdb progra...
專案開發除錯利器
在專案開發過程中避免不了除錯程式 我們除錯程式有很多辦法 借助除錯工具,打斷點,列印日誌等等 今天介紹一種最常用的除錯辦法 列印日誌 我們都會使用系統的方法 nslog 日誌輸出函式 我們應該知道 nslog 在我們程式執行過程中是很消耗效能的 因此我們應該適當使用nslog 如果在我們程式發布階段...
Python除錯利器PDB
使用pdb的方式有兩種,其中一種是在指令碼中新增 不覺得這種方式比print好在 所以這種方式此文不表。這裡我們只學習pdb的命令列使用方式。1 進入命令列debug模式,python m pdb myscript.py 2 h help 幫助 3 w where 列印當前執行堆疊 4 d down...