gpt4 book ai didi

c - 应用程序崩溃,但没有生成核心转储

转载 作者:IT王子 更新时间:2023-10-29 00:56:45 25 4
gpt4 key购买 nike

我有一个问题,我的应用程序在几天/几周后继续转储核心,但不幸的是,没有生成核心转储。

我们尝试设置 ulimit -c unlimited没有成功,所以我们合并了setrlimit代码本身的功能,但这种方法也没有运气。而且,最重要的是,我们也添加了 MALLOC_CHECK_。

有趣的是,当我们尝试启动手动核心转储(使用 kill -ABRT <pid> )时,它确实生成了核心转储。

我可以在 /var/log/message 中看到以下消息

kernel: [2302077.396021] myapp[22140]: segfault at 54552e42 ip 00000000f773f36f sp 00000000fffdc48c error 4 in ld-2.11.3.so[f7727000+1f000]

环境:sles11

关于如何使应用程序更可靠地生成核心转储有什么建议吗?

最佳答案

许多当前的系统都经过配置,因此它们不会留下核心转储(普通用户不知道如何处理它们)。

  • 确保在可以转储核心的位置启动进程(可写目录,足够的空间;我不确定进程中的目录更改是否会干扰此处)
  • 确保在启动进程的同一个 shell 中提供“ulimit -c unlimited”
  • 如果程序是 SUID 或 SGID,出于安全原因,内核将拒绝将其转储核心,请查看 this question指导

关于c - 应用程序崩溃,但没有生成核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com