Maison > cadre php > Swoole > Quoi utiliser pour déboguer le programme swoole

Quoi utiliser pour déboguer le programme swoole

angryTom
Libérer: 2020-02-12 14:01:08
original
3393 Les gens l'ont consulté

Quoi utiliser pour déboguer le programme swoole

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
Copier après la connexion

gdbinit

(gdb) source /path/to/swoole-src/gdbinit
Copier après la connexion

Définir des points d'arrêt

Par exemple, co::sleep function

(gdb) b zim_swoole_coroutine_util_sleep
Copier après la connexion

Imprimer toutes les coroutines et l'état de la progression actuelle

(gdb) co_list 
coroutine 1 SW_CORO_YIELD
coroutine 2 SW_CORO_RUNNING
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal