我 运行 `"crash_demo.run"` 通过 `spawn-fcgi` 。如何收集`core`文件
I run `"crash_demo.run"` by `spawn-fcgi` . How to collect `core` file
1。问题
我 运行 "crash_demo.run"
通过 spawn-fcgi
。
如何收集 core
文件 .
2。背景与环境
我正在学习 C++ Web 编程。
- 网络服务器:nginx
- CGI(快速CGI):fastcgipp 3.0
- CGI 包装器:spawn-fcgi
- 我没有使用 ngifix 提供的 FCGI Wrap。
- 我明白
FCGI Wrap
是spawn-fcgi驱动的,当然这是题外话了。
- 我的 C++ 应用程序。 (被称为
crash_demo
).
3。重现异常的步骤
crash_demo
插入代码 throw "test exception str, check _core_ file"
,构建得到 crash_demo.run
- 运行 nginx :
sudo nginx -c my_nginx_custom.config
ulimit -c unlimited
- 运行
crash_demo.run
来自 spawn-fcgi
: spawn-fcgi -a 127.0.0.1 -p 9000 -f /path/crash_demo.run
- 测试正常的http请求,http请求可以正常完成。
- 测试
crash_demo
http 请求,得到 5xx
响应。
crash_demo.run
所在目录没有看到core
文件
我的猜测
core
文件未生成。
core
文件已生成,但我不知道文件路径。
有谁知道发生了什么事吗?
解决方案更新
我的问题有问题。
谢谢@sehe,我的步骤:
- 我看了两个网页
- update my
/proc/sys/kernel/core_pattern
core
-> core_%e_%p_%t
ulimit -c unlimited
spawn-fcgi -a 127.0.0.1 -p 9000 -f /path/crash_demo.run
sudo find / core_ | grep core_crash_demo
- 结果
/path/core_crash_demo._5080_1652169152
所以,我对我的问题的猜测是失败的。
事实是,当我提出问题时,我没有生成 core
文件。
当我生成core
文件成功时,core
文件路径是crash_demo.run
父目录。
这个问题可能更适合 askubuntu.com 或 serverfault.stackexchange.com。
您可能需要配置核心转储。由于我们不知道该平台,我假设可能是 Linux。参见例如core(5):
There are various circumstances in which a core dump file is not
produced
根据我的经验,需要的是设置核心模式 (/proc/sys/kernel/core_pattern
)
1。问题
我 运行 "crash_demo.run"
通过 spawn-fcgi
。
如何收集 core
文件 .
2。背景与环境
我正在学习 C++ Web 编程。
- 网络服务器:nginx
- CGI(快速CGI):fastcgipp 3.0
- CGI 包装器:spawn-fcgi
- 我没有使用 ngifix 提供的 FCGI Wrap。
- 我明白
FCGI Wrap
是spawn-fcgi驱动的,当然这是题外话了。
- 我的 C++ 应用程序。 (被称为
crash_demo
).
3。重现异常的步骤
crash_demo
插入代码throw "test exception str, check _core_ file"
,构建得到crash_demo.run
- 运行 nginx :
sudo nginx -c my_nginx_custom.config
ulimit -c unlimited
- 运行
crash_demo.run
来自spawn-fcgi
:spawn-fcgi -a 127.0.0.1 -p 9000 -f /path/crash_demo.run
- 测试正常的http请求,http请求可以正常完成。
- 测试
crash_demo
http 请求,得到5xx
响应。crash_demo.run
所在目录没有看到core
文件
我的猜测
core
文件未生成。core
文件已生成,但我不知道文件路径。
有谁知道发生了什么事吗?
解决方案更新
我的问题有问题。
谢谢@sehe,我的步骤:
- 我看了两个网页
- update my
/proc/sys/kernel/core_pattern
core
->core_%e_%p_%t
ulimit -c unlimited
spawn-fcgi -a 127.0.0.1 -p 9000 -f /path/crash_demo.run
sudo find / core_ | grep core_crash_demo
- 结果
/path/core_crash_demo._5080_1652169152
- 结果
所以,我对我的问题的猜测是失败的。
事实是,当我提出问题时,我没有生成 core
文件。
当我生成core
文件成功时,core
文件路径是crash_demo.run
父目录。
这个问题可能更适合 askubuntu.com 或 serverfault.stackexchange.com。
您可能需要配置核心转储。由于我们不知道该平台,我假设可能是 Linux。参见例如core(5):
There are various circumstances in which a core dump file is not produced
根据我的经验,需要的是设置核心模式 (/proc/sys/kernel/core_pattern
)