视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
swoole错误查看的方法
2020-11-03 18:22:15 责编:小采
文档


当使用swoole发生段错误时,请及时向开发组报告。可以使用gdb工具来得到一份bt信息。使用gdb跟踪需要在编译swoole时增加--enable-debug参数。

如果不方便gdb,也可以提供一份可稳定复现的demo程序

打开core dump

ulimit -c unlimited

使用gdb来查看core dump信息。core文件一般在当前目录,如果操作系统做了处理,将core dump文件放置到其他目录,请替换为相应的路径

gdb php core 
gdb php /tmp/core.4596

在gdb下输入bt查看调用栈信息

(gdb)bt
Program terminated with signal 11, Segmentation fault.
#0 0x00007f1cdbe205e0 in swServer_onTimer (reactor=<value optimized out>, event=...) 
 at /usr/local/php/swoole-swoole-1.5.9b/src/network/Server.c:92
92 serv->onTimer(serv, timer_node->interval);
Missing separate debuginfos, use: debuginfo-install php-cli-5.3.3-22.el6.x86_

在gdb中使用f指令查看代码段

(gdb)f 1
(gdb)f 0

如果没有函数调用栈信息,可能是编译去除了debug信息。请手工修改swoole源码目录下的Makefile文件,修改CFLAGS为

CFLAGS = -Wall -pthread -g -O0

推荐学习: swoole视频教程

下载本文
显示全文
专题