unix 中的核心文件

unix 中的核心文件

我对核心文件有一些疑问。

1)什么是核心文件。 2)它所在的位置。 3)核心fie有什么用。 4)编译c程序时如何生成core文件。 5)核心文件和核心转储有什么区别。

答案1

1)什么是核心文件。

它是一个包含核心转储的文件。某些异常程序终止(例如执行非法指令)会导致默认生成核心转储。

2)它所在的位置。

通常,它是在导致生成该进程的当前目录中调用的文件core,但在某些操作系统(例如 Linux)中,可以重新配置它,以便将其保存到不同的文件中,或者将其保存为其他文件。通过管道传输到程序。对于 Linux,查找/proc/sys/kernel/core_pattern将放置核心转储的文件的名称。

3)核心fie有什么用。

核心转储可以加载到 gdb 等调试器中。这使得可以检查程序的状态,就像程序终止时一样。它可以方便开发人员确定程序崩溃的原因。

4)编译c程序时如何生成core文件。

这是一个奇怪的问题。我想答案是,为了在编译 C 程序时生成核心转储,必须导致编译器崩溃!例如,您可以找到并利用编译​​器中的错误!或者您可以SIGQUIT通过Ctrl^按默认情况下强制终止带有核心转储的程序来发送它。

5)核心文件和核心转储有什么区别。

我想您可以将其定义为:核心文件是包含核心转储的文件。但总的来说,我认为大多数人会互换使用这些术语。

相关内容