linux – 谁生成核心转储文件?内核还是glibc?

linux – 谁生成核心转储文件?内核还是glibc?,第1张

概述(这里我只针对 Linux) 我假设核心是由glibc的默认信号处理程序生成的. 但如果我谷歌大多数结果说 *** 作系统会产生核心转储.如果OS生成核心,信号处理程序将首先被调用(或)核心转储? 内核本身生成coredump.在这里查看linux内核源代码中的核心处理例程: http://lxr.linux.no/linux+v3.12.6/fs/coredump.c 如果进程收到以下任何信号1,则内核 (这里我只针对 Linux)

我假设核心是由glibc的默认信号处理程序生成的.

但如果我谷歌大多数结果说 *** 作系统会产生核心转储.如果OS生成核心,信号处理程序将首先被调用(或)核心转储?

解决方法 内核本身生成coredump.在这里查看linux内核源代码中的核心处理例程:

http://lxr.linux.no/linux+v3.12.6/fs/coredump.c

如果进程收到以下任何信号1,则内核通过尝试coredump进行响应.

#define SIG_KERNEL_COREDUMP_MASK (\rt_sigmask(SIGQUIT)   |  rt_sigmask(SIGILL)    | \rt_sigmask(SIGTRAP)   |  rt_sigmask(SIGABRT)   | \rt_sigmask(SIGFPE)    |  rt_sigmask(SIGSEGV)   | \rt_sigmask(SIGBUS)    |  rt_sigmask(SIGSYS)    | \rt_sigmask(SIGXcpu)   |  rt_sigmask(SIGXFSZ)   | \SIGEMT_MASK

此coredump是可配置的,可以通过多种方式禁用或控制,包括文件/ proc / sys / kernel / core_pattern和ulimit.人们还可以通过信号处理机制控制这些信号的传递.

总结

以上是内存溢出为你收集整理的linux – 谁生成核心转储文件?内核还是glibc?全部内容,希望文章能够帮你解决linux – 谁生成核心转储文件?内核还是glibc?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存