如何调试 spawn-fcgi 生成的 coredump 文件?

Posted

技术标签:

【中文标题】如何调试 spawn-fcgi 生成的 coredump 文件?【英文标题】:how to debug the coredump file produced by spawn-fcgi? 【发布时间】:2021-01-13 03:44:29 【问题描述】:

我的 coredump 文件由 shell 命令 sudo spawn-fcgi fcgi-bin -a 0.0.0.0 -p 8089 & 生成,fcgi-bin 由 c++ 命令 g++ -g fcgiMain.cpp fcgiEnv.cpp -o fcgi-bin 等编译以使用 nginx 部署,因为我们知道调试 coredump 文件与命令gdb ./test_bin test_coredump,但现在我有两个bin程序spawn-fcgi和“fcgi-bin”,如果我使用命令gdb ./spawn-fcgi coredumpbt查看堆栈,那么它会像这张图片

所以任何人都可以告诉我如何处理这个 coredump 文件,非常感谢!

【问题讨论】:

【参考方案1】:

这里有两个单独的可执行文件:spawn-fcgifcgi-bin。前者execs 后者。

在 GDB 输出中,您可以看到 core 是由 fcgi-bin 生成的。因此,这就是您要提供给 GDB 的可执行文件:

gdb fcgi-bin coredump

【讨论】:

以上是关于如何调试 spawn-fcgi 生成的 coredump 文件?的主要内容,如果未能解决你的问题,请参考以下文章

CORE DUMP生成调试

.NET Core 中如何调试 死锁 ?

GDB再学习(11):如何生成Core文件

linux 下core文件生成路径格式设置及调试

Linux下如何生成core dump 文件

gdb调试常用实用命令和core dump文件的生成(转)