C代码的核心转储是什么意思?

时间:2010-05-27 18:37:34

标签: c coredump

核心转储的扩展意味着什么以及如何读取核心转储文件?就像我在文本编辑器中打开文件一样,我得到了垃圾值。

注意:其扩展名类似于.2369

4 个答案:

答案 0 :(得分:5)

您可以使用gdb读取核心转储。扩展名是进程ID。

以下是解释如何执行此操作的线程的link

这是一个gdb tutorial

答案 1 :(得分:5)

核心文件是进程终止时的进程的内存映像。终止可以例如通过分段错误或失败的断言发生。要“查看”coredump,您需要一个调试器。它将允许您检查过程的状态。这包括列出进程所有线程的堆栈跟踪。打印变量和寄存器的值。请注意,如果您有可用的调试信息,这可以“更好”。

传统的核心文件只是命名为“核心”。这具有不太好的效果,在开发人员/管理员发现它们之前,核心会覆盖它们自己。许多现代平台允许为核心文件提供包含其他信息的自定义名称。例如,核心末尾的数字可以是该核心所属进程的PID。

答案 2 :(得分:3)

扩展名通常是崩溃的进程ID。您需要使用调试工具检查文件。

答案 3 :(得分:2)

维基百科可以比我更好地解释core dumps,但

它是“核心”记忆的转储;也就是说,进程在崩溃时保存的内存,寄存器和其他程序状态。

文件名末尾的值必须取决于系统。我通常使用像GDB这样的调试器,与我的程序一起检查这些文件。