有時候,使用php的第三方擴充套件之後,可能會發生一些錯誤,這個時候,可能就需要更底層的方式追蹤除錯程式發生錯誤的地方和原因,熟悉linux下c程式設計的肯定不陌生gdb
首先,使用ulimit -c命令,檢視系統是否會生成 core檔案
當返回結果為0時,說明系統不會生成core檔案,這個時候使用ulimit -c命令改變系統的預設設定sh
#返回結果可能是0
ulimit -c
這樣當程式執行錯的時候,就會把執行過程記錄到core檔案裡面sh
ulimit -c unlimited
#或者
ulimit -c n #n大於0的數字
一般來說,core檔案會在程式執行目錄下生成,檔名類似core.5740
下面開始使用gdb來除錯
如何除錯php的core之獲取基本資訊sh
gdb php -c core.5740
#進入之後顯示很多東西,然後不停的 按 輸入 bt回車,檢視執行流程
#在gdb執行環境中,使用php的gdb除錯指令碼,其中/prefix/php-src-dir 是php的原始碼目錄
source /prefix/php-src-dir/.gdbinit
#zbacktrace會更加精確到php的錯誤
zbacktrace
gdb除錯PHP擴充套件錯誤
有時候,使用php的第三方擴充套件之後,可能會發生一些錯誤,這個時候,可能就需要更底層的方式追蹤除錯程式發生錯誤的地方和原因,熟悉linux下c程式設計的肯定不陌生gdb 首先,使用ulimit c命令,檢視系統是否會生成 core檔案。返回結果可能是0 ulimit c當返回結果為0時,說明系統不...
gdb除錯PHP擴充套件錯誤
有時候,使用php的第三方擴充套件之後,可能會發生一些錯誤,這個時候,可能就需要更底層的方式追蹤除錯程式發生錯誤的地方和原因,熟悉linux下c程式設計的肯定不陌生gdb 首先,使用ulimit c命令,檢視系統是否會生成 core檔案。返回結果可能是0 ulimit c當返回結果為0時,說明系統不...
GDB除錯命令以及GDB除錯段錯誤
一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...