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

So überprüfen Sie Swoole-Fehler

Freigeben: 2019-12-17 09:17:39
Original
2790 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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

(gdb)f 1
(gdb)f 0
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage