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

4

什么是 core dump 的扩展名,如何读取 core dump 文件?当我在文本编辑器中打开文件时,我得到了垃圾值。

注意:它的扩展名类似于 .2369

4个回答

7
你可以使用gdb来读取核心转储文件。扩展名是进程ID。
这里有一个链接,解释了如何进行此操作。
这里还有一个gdb教程

5
核心文件是进程在终止时的内存映像。终止可能是由于分段错误或断言失败等原因。要“查看”核心转储,您需要一个调试器。它将允许您检查进程的状态,包括列出进程所有线程的堆栈跟踪、打印变量和寄存器的值。请注意,如果有可用的调试信息,则此操作效果更佳。
传统上,核心文件仅命名为“core”。这会产生不好的影响,即在开发人员/管理员发现它们之前,核心将覆盖自己。许多现代平台允许给核心文件自定义名称,其中包含附加信息。例如,您的核心结尾处的数字可能是该核心所属进程的PID。

3

维基百科可以更好地解释核心转储,但是:

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

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


3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接