以下问题描述为Windows How to create minidump for my process when it crashes?生成迷你文本转储的Linux
但我怎么能在Linux上创建迷你崩溃转储的文字?
以下问题描述为Windows How to create minidump for my process when it crashes?生成迷你文本转储的Linux
但我怎么能在Linux上创建迷你崩溃转储的文字?
您需要编写一个信号处理程序。
这里是如何做到这一点幻灯片甲板:
http://www.scribd.com/doc/3726406/Crash-N-Burn-Writing-Linux-application-fault-handlers
这里是代码形式的幻灯片平台:
我不确定你可以得到与.NET MiniDump完全相同的东西 - 但是你将能够在Linux上生成一个核心转储,以便获得你之后的信息。确保核心文件是通过发出一个命令,如启用:
ulimit -c unlimited
这也将设置核心的最大尺寸转储是unlimited
- 因为你希望实现的“小”的方面,你可以定制这个你的问题。 man ulimit
是你的朋友在这里。
然后,运行你的程序,当你运行它的时候杀死它。我通常发送的信号是SIG_ABRT
(信号6)像这样:
kill -6 <pid>
如果你不知道的PID是什么,或者如何让一个pid,你可能需要阅读更多的在Linux上一些。
确保您的代码编译的' -g'标志(调试符号),所以你可以理解核心转储。您也可以使用信号的名称(不带'SIG'前缀)来“杀死”,因此您不必记住数字:'kill -ABRT' –
感谢您的补充,Mike! –
我已经生成核心转储,但我想生成一个小的可读文本转储 –