首頁 >php框架 >Swoole >swoole錯誤查看的方法

swoole錯誤查看的方法

尚
原創
2019-12-17 09:17:392774瀏覽

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影片教學

#

以上是swoole錯誤查看的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Swoole為什麼快下一篇:Swoole為什麼快