Home  >  Article  >  Backend Development  >  gdb调试PHP扩展错误

gdb调试PHP扩展错误

WBOY
WBOYOriginal
2016-06-20 12:57:57845browse

有时候,使用PHP的第三方扩展之后,可能会发生一些错误,这个时候,可能就需要更底层的方式追踪调试程序发生错误的地方和原因,熟悉linux下C编程的肯定不陌生gdb

首先,使用ulimit -c命令,查看系统是否会生成 core文件

sh#返回结果可能是0ulimit -c 

当返回结果为0时,说明系统不会生成core文件,这个时候使用ulimit -c命令改变系统的默认设置

shulimit -c unlimited#或者 ulimit -c n  #n大于0的数字

这样当程序运行错的时候,就会把运行过程记录到core文件里面

一般来说,core文件会在程序运行目录下生成,文件名类似 core.5740
下面开始使用gdb来调试

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的Core之获取基本信息

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn