Que utiliser pour déboguer le programme swoole
Vous pouvez utiliser GDB pour déboguer le programme swoole ? gdb est l'abréviation de GNU debugger, qui est un outil de débogage de programmation.
Fonction de gdb :
1. Démarrez le programme et exécutez-le comme vous le souhaitez selon les exigences définies par l'utilisateur.
2. Le programme débogué peut être arrêté au point d'arrêt de débogage spécifié par l'utilisateur (le point d'arrêt peut être une expression conditionnelle).
3. Lorsque le programme s'arrête, vous pouvez vérifier ce qui s'est passé dans le programme à ce moment-là. Par exemple, vous pouvez imprimer la valeur d'une variable.
4. Modifiez dynamiquement l'environnement d'exécution du programme variable.
Apprentissage recommandé : tutoriel swoole
Comment utiliser gdb pour déboguer swoole :
Entrez gdb
gdb php test.php
gdbinit
(gdb) source /path/to/swoole-src/gdbinit
Définir des points d'arrêt
Par exemple, co::sleep function
(gdb) b zim_swoole_coroutine_util_sleep
Imprimer toutes les coroutines et l'état de la progression actuelle
(gdb) co_list coroutine 1 SW_CORO_YIELD coroutine 2 SW_CORO_RUNNING
Imprimer l'exécution en cours La pile d'appels de la coroutine
(gdb) co_bt coroutine cid:[2] [0x7ffff148a100] Swoole\Coroutine->sleep(0.500000) [internal function] [0x7ffff148a0a0] {closure}() /home/shiguangqi/php/swoole-src/examples/coroutine/exception/test.php:7 [0x7ffff141e0c0] go(object[0x7ffff141e110]) [internal function] [0x7ffff141e030] (main) /home/shiguangqi/php/swoole-src/examples/coroutine/exception/test.php:10
Imprimer la pile d'appels de l'identifiant de coroutine spécifié
(gdb) co_bt 1 [0x7ffff1487100] Swoole\Coroutine->sleep(0.500000) [internal function] [0x7ffff14870a0] {closure}() /home/shiguangqi/php/swoole-src/examples/coroutine/exception/test.php:3 [0x7ffff141e0c0] go(object[0x7ffff141e110]) [internal function] [0x7ffff141e030] (main) /home/shiguangqi/php/swoole-src/examples/coroutine/exception/test.php:10
Imprimer l'état de la coroutine série
(gdb) co_status stack_size: 2097152 call_stack_size: 1 active: 1 coro_num: 2 max_coro_num: 3000 peak_coro_num: 2
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!