核心转储——Linux

核心转储——Linux

我试图了解核心转储的生成。是否为用户空间应用程序进程崩溃和内核级崩溃分别生成核心转储?是ulimit -c两种吗?

答案1

当一个用户态程序崩溃时,它会留下一个core文件,其中包含当它崩溃时内存内容的副本(这个core名字来自计算的史前史,当内存曾是 )。这是由ulimit(1)命令控制的,它通常被禁用,因为核心文件很大并且容易让新手感到困惑。核心文件可以通过例如调试器与可执行文件和符号表一起分析,以找出发生了什么。

当内核崩溃时,它通常会触发内核恐慌。如果内核发现了一些严重的不一致,指望它正常地写出任何东西确实是不明智的。因此不会生成任何核心,系统就会崩溃。发生问题的地址周围的寄存器和代码的内容被写入控制台。最好保存它(例如拍照)以供以后分析。

类似的情况还有内核哎呀,当内核检测到不被视为致命的不一致时。在这种情况下(如在内核恐慌中),发生问题的地址周围的寄存器和代码的内容将被写入控制台,并被记录。

相关内容