這篇文章給大家分享的是有關swoole錯誤查看的方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
當使用swoole發生段錯誤時,請及時向開發組報告??梢允褂胓db工具來得到一份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錯誤查看的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。