我对核心文件有一些疑问。
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)核心文件和核心转储有什么区别。
我想您可以将其定义为:核心文件是包含核心转储的文件。但总的来说,我认为大多数人会互换使用这些术语。