Heim  >  Artikel  >  PHP-Framework  >  So überprüfen Sie Swoole-Fehler

So überprüfen Sie Swoole-Fehler

尚
Original
2019-12-17 09:17:392757Durchsuche

So überprüfen Sie Swoole-Fehler

Wenn bei der Verwendung von Swoole ein Segfault auftritt, melden Sie ihn bitte rechtzeitig dem Entwicklungsteam. Sie können das GDB-Tool verwenden, um eine Kopie der BT-Informationen zu erhalten. Um GDB-Tracking zu verwenden, müssen Sie beim Kompilieren von Swoole den Parameter --enable-debug hinzufügen.

Wenn GDB nicht praktisch ist, können Sie auch ein Demoprogramm bereitstellen, das stabil reproduziert werden kann

Core-Dump öffnen

ulimit -c unlimited

Verwenden Sie GDB, um Core-Dump-Informationen anzuzeigen . Die Kerndatei befindet sich im Allgemeinen im aktuellen Verzeichnis. Wenn das Betriebssystem sie verarbeitet und die Kernspeicherauszugsdatei in einem anderen Verzeichnis abgelegt hat, ersetzen Sie sie bitte durch den entsprechenden Pfad

gdb php core 
gdb php /tmp/core.4596

Geben Sie bt unter gdb ein, um den Aufrufstapel anzuzeigen Informationen

(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

Verwenden Sie den Befehl f in gdb, um das Codesegment anzuzeigen

(gdb)f 1
(gdb)f 0

Wenn keine Informationen zum Funktionsaufrufstapel vorhanden sind, wurden die Debug-Informationen möglicherweise während der Kompilierung entfernt. Bitte ändern Sie das Makefile im Swoole-Quellverzeichnis manuell und ändern Sie CFLAGS in

CFLAGS = -Wall -pthread -g -O0

Empfohlenes Lernen: Swoole-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie Swoole-Fehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Warum ist Swoole schnell?Nächster Artikel:Warum ist Swoole schnell?