Swoole 오류를 확인하는 방법

풀어 주다: 2019-12-17 09:17:39
원래의
2737명이 탐색했습니다.

Swoole 오류를 확인하는 방법

Swoole 사용시 세그폴트가 발생하면 제때에 개발팀에 신고해주세요. gdb 도구를 사용하여 bt 정보의 복사본을 얻을 수 있습니다. gdb 추적을 사용하려면 swoole을 컴파일할 때 --enable-debug 매개변수를 추가해야 합니다.

gdb가 불편할 경우 안정적으로 재현할 수 있는 데모 프로그램을 제공할 수도 있습니다.

코어 덤프 열기

ulimit -c unlimited
로그인 후 복사

gdb를 사용하여 코어 덤프 정보를 확인하세요. 코어 파일은 일반적으로 현재 디렉터리에 있습니다. 운영 체제에서 처리하여 코어 덤프 파일을 다른 디렉터리에 배치한 경우 해당 경로로 교체하세요

gdb php core 
gdb php /tmp/core.4596
로그인 후 복사

콜 스택 정보를 보려면 gdb 아래에 bt를 입력하세요

(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
로그인 후 복사

gdb에서 f 명령어를 사용하세요. 코드 스니펫을 확인하세요

(gdb)f 1
(gdb)f 0
로그인 후 복사

함수 호출 스택 정보가 없다면 컴파일 도중 디버그 정보가 제거된 것일 수 있습니다. swoole 소스 디렉토리에서 Makefile을 수동으로 수정하고 CFLAGS를

CFLAGS = -Wall -pthread -g -O0
로그인 후 복사

로 수정하세요. 권장 학습: swoole 비디오 튜토리얼

위 내용은 Swoole 오류를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿