在哪里可以findFCGI应用程序的FreeBSD nginx coredump文件?

我在FreeBSD上运行nginx上的FCGI spawn应用程序。 它是越野车,我想分析崩溃的.core文件。 但是我没有任何线索在哪里产生。 有人知道吗?

首先,你的nginx必须用–with-debugconfiguration选项编译。 如果你使用的是freebsd ports,你会添加类似的东西

CONFIGURE_ARGS+= --with-debug 

到nginx的ports目录中的Makefile。

然后,在nginx.conf中

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

在nginx.conf中

并在/etc/sysctl.conf中

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

(或“systctl -w kern-.coredump = 1; sysctl kern.corefile = / path / to / cores”)

还要确保/etc/login.conf具有适当的权限来生成用户nginx运行的内核(通常为:coredumpsize = unlimited :,尽pipe您可能想要限制这个)。 除非在/etc/master.passwd中明确指定,否则nginx用户将在“默认”login类下运行

我想通过自己解决这个问题。

我不知道为什么这是必要的,但我不得不将二进制文件的所有者从根,更改为spawn-fcgi用户运行我的应用程序的用户。 现在它生成一个核心文件。