Rumah  >  Artikel  >  rangka kerja php  >  swoole错误查看的方法

swoole错误查看的方法

尚
asal
2019-12-17 09:17:392675semak imbas

swoole错误查看的方法

当使用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_64

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

(gdb)f 1
(gdb)f 0

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

CFLAGS = -Wall -pthread -g -O0

推荐学习: swoole视频教程

Atas ialah kandungan terperinci swoole错误查看的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Swoole为什么快Artikel seterusnya:swoole错误处理的方法