Maison  >  Article  >  cadre php  >  Comment vérifier les erreurs swoole

Comment vérifier les erreurs swoole

尚
original
2019-12-17 09:17:392750parcourir

Comment vérifier les erreurs swoole

Lorsqu'une erreur de segmentation se produit lors de l'utilisation de swoole, veuillez la signaler à l'équipe de développement à temps. Vous pouvez utiliser l'outil gdb pour obtenir une copie des informations BT. Pour utiliser le suivi gdb, vous devez ajouter le paramètre --enable-debug lors de la compilation de swoole.

Si gdb n'est pas pratique, vous pouvez également fournir un programme de démonstration qui peut être reproduit de manière stable

Ouvrir le vidage de mémoire

ulimit -c unlimited

Utilisez gdb pour afficher les informations de vidage de mémoire . Le fichier core se trouve généralement dans le répertoire courant. Si le système d'exploitation l'a traité et a placé le fichier core dump dans un autre répertoire, veuillez le remplacer par le chemin correspondant

gdb php core 
gdb php /tmp/core.4596

Entrez bt sous gdb pour afficher la pile d'appels. 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

Utilisez la commande f dans gdb pour afficher le segment de code

(gdb)f 1
(gdb)f 0

S'il n'y a aucune information sur la pile d'appels de fonction, il se peut que les informations de débogage aient été supprimées lors de la compilation. Veuillez modifier manuellement le Makefile dans le répertoire source de swoole et modifier CFLAGS en

CFLAGS = -Wall -pthread -g -O0

Apprentissage recommandé : tutoriel vidéo swoole

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn