生成迷你文本转储LInux

时间:2011-09-19 11:37:14

标签: c++ linux

以下问题描述了windows How to create minidump for my process when it crashes?

但是如何在linux上创建迷你崩溃文本转储?

2 个答案:

答案 0 :(得分:2)

您需要编写一个信号处理程序。

这是一个关于如何操作的幻灯片:

http://www.scribd.com/doc/3726406/Crash-N-Burn-Writing-Linux-application-fault-handlers

以下是幻灯片的代码:

https://github.com/gby/libcrash

答案 1 :(得分:1)

我不确定你能否得到与.NET MiniDump完全相同的东西 - 但是你将能够在Linux上产生核心转储,它应该获得你所追求的信息。通过发出如下命令确保启用核心文件:

ulimit -c unlimited

这也将核心转储的最大大小设置为unlimited - 你可以根据你想要实现问题的“迷你”方面来定制它。 man ulimit是你的朋友。

然后,运行你的进程,当它运行时杀死它。我通常发送的信号是SIG_ABRT(信号6),如下所示:

kill -6 <pid>

如果您不知道pid是什么,或者如何获得pid,您可能需要在Linux上阅读更多内容。