gdb调试PHP扩展错误

有时候,使用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来调试

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链入门

OAuth 2.0 的四种方式

上一篇文章介绍了 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token)。本文接着介绍颁发令牌的实务操作。 下面我假定,你已经理解了 OAuth ...

11130
来自专栏极客编程

比特币支付协议 原

支付协议被视为已弃用,将在更高版本的比特币核心中删除。该协议在一些钱包中存在多个安全设计缺陷和实现缺陷。当使用BIP70 URI时,用户将开始在比特币核心版本0...

17940
来自专栏Coding01

立几个关于写代码的 flag

好久没写东西了,今年是我转型的第二年,去年还保留着「程序员」该有的灵感,还能每周每天保持该有的编码量。反观今年,明显少了很多。

17630
来自专栏日常学python

如何让爬虫一天抓取100万张网页

爬虫这两年貌似成为了一项必备技能,无论是搞技术的,做产品的,数据分析的,金融的,初创公司做冷启动的,都想去抓点数据回来玩玩。这里面绝大多数一共都只抓几万或几十万...

15230
来自专栏开发经验记录

理解 Nginx 与 PHP-FPM 通信的工作机制

Browser请求http://xxx.com/aa.html -> Web Server(Nginx/Apache)分发 -> 找到aa.html文件返回给B...

18040
来自专栏算法channel

Python 时间专题

python与时间相关的内置模块有: time 和 datetime. 其中,time模块提供各种操作时间的函数,datetime模块定义了如下几个类型:

29420
来自专栏程序员的知识天地

测试Python爬虫极限,一天抓取100万张网页的酷炫操作!

前一两年抓过某工商信息网站,几三周时间大约抓了过千万多万张页面。那时由于公司没啥经费,报销又拖得很久,不想花钱在很多机器和带宽上,所以当时花了较多精力研究如何让...

37120
来自专栏运维经验分享

WDCP安装 原

wget http://dl.wdlinux.cn/files/lanmp_v3.3.tar.gz

19440
来自专栏运维经验分享

宝塔linux命令大全 原

启动(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 start)

30110
来自专栏grain先森

压箱底的正则实例

密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

12340

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励