这篇文章给大家分享的是有关swoole错误查看的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
网站的建设成都创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都假山制作等企业提供专业服务。
当使用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=, 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_64
在gdb中使用f指令查看代码段
(gdb)f 1 (gdb)f 0
如果没有函数调用栈信息,可能是编译去除了debug信息。请手工修改swoole源码目录下的Makefile文件,修改CFLAGS为
CFLAGS = -Wall -pthread -g -O0
感谢各位的阅读!关于“swoole错误查看的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!