gdb除錯PHP擴充套件錯誤

2021-09-19 23:50:08 字數 755 閱讀 6511

有時候,使用php的第三方擴充套件之後,可能會發生一些錯誤,這個時候,可能就需要更底層的方式追蹤除錯程式發生錯誤的地方和原因,熟悉linux下c程式設計的肯定不陌生gdb

首先,使用ulimit -c命令,檢視系統是否會生成 core檔案

sh#返回結果可能是0

ulimit -c

當返回結果為0時,說明系統不會生成core檔案,這個時候使用ulimit -c命令改變系統的預設設定

shulimit -c unlimited

#或者

ulimit -c n #n大於0的數字

這樣當程式執行錯的時候,就會把執行過程記錄到core檔案裡面

一般來說,core檔案會在程式執行目錄下生成,檔名類似core.5740

下面開始使用gdb來除錯

shgdb php -c core.5740

#進入之後顯示很多東西,然後不停的 按 輸入 bt回車,檢視執行流程

#在gdb執行環境中,使用php的gdb除錯指令碼,其中/prefix/php-src-dir 是php的原始碼目錄

source /prefix/php-src-dir/.gdbinit

#zbacktrace會更加精確到php的錯誤

zbacktrace

如何除錯php的core之獲取基本資訊

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 變數名,檢...