スウールエラーを確認する方法

リリース: 2019-12-17 09:17:39
オリジナル
2740 人が閲覧しました

スウールエラーを確認する方法

#swoole の使用中にセグメンテーション違反が発生した場合は、時間内に開発チームに報告してください。 gdb ツールを使用して、bt 情報のコピーを取得できます。 gdb トラッキングを使用するには、swoole のコンパイル時に --enable-debug パラメーターを追加する必要があります。

gdb が不便な場合は、安定して再現できるデモ プログラムを提供することもできます。

Open core dump

ulimit -c unlimited
ログイン後にコピー

Use gdb to view core dump情報。コア ファイルは通常、現在のディレクトリにあります。オペレーティング システムがコア ファイルを処理し、コア ダンプ ファイルを別のディレクトリに配置した場合は、対応するパスに置き換えてください。

gdb php core 
gdb php /tmp/core.4596
ログイン後にコピー

gdb の下に bt を入力して、コール スタックを表示してください。 information

(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
ログイン後にコピー

関数呼び出しスタック情報がない場合は、コンパイル中にデバッグ情報が削除された可能性があります。 swoole ソース ディレクトリの Makefile を手動で変更し、CFLAGS を

CFLAGS = -Wall -pthread -g -O0
ログイン後にコピー

に変更してください。 推奨学習: swoole ビデオ チュートリアル

以上がスウールエラーを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート