linux - 生成核心转储时内部会发生什么
问题描述
本题主要针对Linux操作系统。以下命令在系统中启用核心转储生成。
ulimit -S -c 无限制
有人可以提供有关任何应用程序崩溃和生成核心转储时内部发生的情况的更多详细信息。
- 谁跟踪申请的终止
- 谁生成核心转储
- 它是如何产生的?我们可以手动生成核心转储吗?
- 内部为此目的所需的所有软件包是什么?
任何参考都会有很大帮助。
提前致谢。
解决方案
我不久前创建了一篇简短的博客文章,旨在回答问题 1 和 2 以及问题 3 的一部分 https://venshare.com/blog/what-is-a-core-dump
对于 3 的另一部分 - 您可以通过向其发送信号来手动生成 coredump,如此处记录的 https://man7.org/linux/man-pages/man7/signal.7.html
例如,要发送信号,例如 SIGQUIT,请使用 kill 命令
kill -3 [pid]
- 您不需要在操作系统上安装任何东西,只需确保设置了 ulimit 并将 kernel.core_pattern 设置为捕获机制。您还应该注意可能与某些进程一起使用的 suid_dumpable 位。 https://serverfault.com/questions/56800/on-redhat-what-does-kernel-suid-dumpable-1-mean
从以下 Ben 的观点更新
推荐阅读
- date - 检查我们第二天是否有新记录
- javascript - TYPO3 10.4 rtekeep="1" 保存后删除
- jfrog - JFrog X 射线扫描 - 报告不同于 Visual Studio 2019 扩展
- kubernetes - Kafka helm chart: java.io.IOException: Failed to create data directory /opt/kafka/data/logs
- mysql - MySQL如何去除重复数据
- android - android 11 抬头通知监听
- javascript - 单击 React.js 将数据传递给另一个组件
- javascript - 在 React 中看不到时暂停视频
- ios - 如何在 Firebase Firestore 内置的聊天室中向用户发送推送通知?
- spring-batch - JMSItemReader 根据块大小重新连接到 Solace