Onde encontrar o arquivo nbsx coredump do FreeBSD do aplicativo FCGI?

1

Estou executando um aplicativo FCGI spawn no nginx no FreeBSD. É buggy e gostaria de analisar o arquivo .core do acidente. Mas eu não tenho idéia de onde isso é gerado. Alguém sabe?

    
por Zaibis 17.02.2014 / 15:19

2 respostas

0

Eu descobri como resolver o problema sozinho.

Eu não sei porque isso é necessário, mas eu tive que mudar o dono do arquivo binário da raiz para o usuário que está usando o spawn-fcgi. e agora gera um arquivo principal.

    
por 28.02.2014 / 09:52
3

Primeiro, seu nginx deve ser compilado com a opção de configuração --with-debug. Se você estiver usando portas freebsd, adicione algo como

CONFIGURE_ARGS+= --with-debug

Para o Makefile no diretório de ports do nginx.

Então, no nginx.conf

worker_rlimit_core  2048M;
working_directory   /path/to/cores/;

no nginx.conf

e em /etc/sysctl.conf

kern.coredump=1
kern.corefile=/path/to/cores

(ou "systctl -w kern-.coredump = 1; sysctl kern.corefile = / caminho / para / núcleos")

Certifique-se também de que o /etc/login.conf possua permissões apropriadas para gerar núcleos para o usuário que o nginx executa (normalmente: coredumpsize = unlimited :, embora você queira restringir isso). O usuário nginx será executado sob a classe de login "padrão", a menos que seja explicitamente especificado em /etc/master.passwd

    
por 20.02.2014 / 03:02

Tags