linux - 如何在 montavista Linux 上启用守护进程的核心转储?

标签 linux system embedded-linux crash-dumps coredump

我不确定 stackoverflow 是否是正确的位置,但由于这是用于嵌入式开发,并且我需要核心转储,这也用于开发,所以我认为这是最好的询问位置。

我试图以这样的方式启用全局核心转储,每次程序以生成核心的方式崩溃时,它都会被写入/foo/bar/core。每次程序崩溃时,它都会覆盖旧的核心文件。目前我已尝试以下方法:

将其添加到 limit.conf

#<domain>      <type>  <item>         <value>
*               soft    core          unlimited
root            soft    core          unlimited
# End of file

将其添加到 sysctl.conf:

# Core Files
kernel.core_pattern=/mnt/ffs/core
kernel.core_uses_pid=0

这不起作用。如果我启动系统,执行 sysctl -pulimit -c unlimited,然后手动重新启动进程(无需 init 脚本),我会在/foo/bar 中获得一个核心文件,但它附加了 PID。任何帮助将不胜感激。

最佳答案

我将核心模式设置为不包含任何进程相关信息,但内核仍然想附加 PID,因此我最终从内核中删除了那段代码,现在一切正常。

关于linux - 如何在 montavista Linux 上启用守护进程的核心转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3602382/

相关文章:

c - 结构对齐问题

linux - 查找包含关键字和提取编号的所有行

Linux Qt 应用程序在 Qt 库中崩溃

linux bash 不显示作业消息

c++ - Linux:来自内存密集型进程的 system() 无需 fork

embedded-linux - 如何在socketcan中检查总线状态

database - 端口重定向不起作用 (80->3306)

c - 从用户到硬件的跟踪代码

c - C 中的 System() 函数显示有错误的输出

linux - 如何在 Busybox/Linux 运行时重新加载时区信息?