Heim >PHP-Framework >Swoole >Was zum Debuggen des Swoole-Programms verwendet werden soll
Was soll zum Debuggen des Swoole-Programms verwendet werden
Sie können GDB zum Debuggen des Swoole-Programms verwenden. gdb ist die Abkürzung für GNU Debugger, ein Programmier-Debugging-Tool.
Funktion von gdb:
1. Starten Sie das Programm und führen Sie es nach Ihren Wünschen gemäß den benutzerdefinierten Anforderungen aus.
2. Das debuggte Programm kann an dem vom Benutzer angegebenen Debugging-Haltepunkt gestoppt werden (der Haltepunkt kann ein bedingter Ausdruck sein).
3. Wenn das Programm stoppt, können Sie überprüfen, was zu diesem Zeitpunkt im Programm passiert ist. Sie können beispielsweise den Wert einer Variablen drucken.
4. Ändern Sie die Ausführungsumgebung variabler Programme dynamisch.
Empfohlenes Lernen: swoole-Tutorial
So verwenden Sie gdb zum Debuggen von swoole:
Geben Sie gdb ein
gdb php test.php
gdbinit
(gdb) source /path/to/swoole-src/gdbinit
Haltepunkte setzen
Zum Beispiel co::sleep function
(gdb) b zim_swoole_coroutine_util_sleep
Alle Coroutinen und den Status des aktuellen Fortschritts drucken
(gdb) co_list coroutine 1 SW_CORO_YIELD coroutine 2 SW_CORO_RUNNING
Drucken der aktuelle Lauf Der Aufrufstapel der 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
Drucken Sie den Aufrufstapel der angegebenen Coroutine-ID
(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
Drucken Sie den Status der seriellen Coroutine
(gdb) co_status stack_size: 2097152 call_stack_size: 1 active: 1 coro_num: 2 max_coro_num: 3000 peak_coro_num: 2
Das obige ist der detaillierte Inhalt vonWas zum Debuggen des Swoole-Programms verwendet werden soll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!