��¼��gdb���ߵ�ʹ��
GDB��GNU��Դ��֯������һ��ǿ���UNIX�µij�����Թ��ߣ�������������C/C++�����ij���PHP��Swoole��ʹ��C���Կ����ģ����Կ���ӵGDB������PHP+Swoole�ij���
gdb�����������н���ʽ�ģ���Ҫ���ճ��õ�ָ�
ʹ�÷���
gdb -p ����ID gdb php gdb php core
gdb��3��ʹ�÷�ʽ��
- �����������е�PHP����ʹ��gdb -p ����ID
- ʹ��gdb���в�����PHP����ʹ��gdb php -> run server.php ���е���
- PHP������coredump��ʹ��gdb����core�ڴ澵����е��� gdb php core
���PATH����������û��php��gdbʱ��Ҫָ������·������gdb /usr/local/bin/php
����ָ��
p
��print����ӡC������ֵc
��continue���������б���ֹ�ij���b
��breakpoint�����öϵ㣬�����պ��������ã���b zif_php_function
��Ҳ������Դ���������ָ���ϵ㣬��b src/networker/Server.c:1000
t
��thread���л��̣߳��������ӵ�ж���̣߳�����ʹ��tָ��л�����ͬ���߳�ctrl + c
���жϵ�ǰ�������еij���cָ�����ʹ��n
��next��ִ����һ�У���������info threads
���鿴���е������߳�l
��list���鿴Դ�룬����ʹ��l ������
����l �к�
bt
��backtrace���鿴����ʱ�ĺ�������ջfinish
����ɵ�ǰ����f
��frame����bt���ʹ�ã������л�����������ջ��ijһ��r
��run�������
zbacktrace
zbacktrace��PHPԴ����ṩ��һ��gdb�Զ���ָ�������btָ�����ƣ���bt��ͬ����zbacktrace�����ĵ���ջ��PHP��������ջ��������C������
����php-src����ѹ��Ӹ�Ŀ¼���ҵ�һ��.gdbinit
�ļ�����gdb shell������
source .gdbinit zbacktrace
.gdbinit���ṩ����������ָ����Բ鿴Դ���˽���ϸ����Ϣ��
ʹ��gdb+zbacktrace������ѭ������
gdb -p ����ID
- ʹ��
ps aux
�����ҳ�������ѭ����Worker����ID gdb -p
����ָ���Ľ���- ��������
ctrl + c
��zbacktrace
��c
�鿴�������Ķ�PHP���뷢��ѭ�� - �ҵ���Ӧ��PHP������н��