gpt4 book ai didi

linux - 我没有得到所有进程的核心转储

转载 作者:太空狗 更新时间:2023-10-29 12:22:00 25 4
gpt4 key购买 nike

我尝试获取核心转储,所以我使用:

ulimit -c unlimited

我在后台运行我的程序,然后终止它:

kill -SEGV %1

但我刚刚得到:

[1]+  Exit 1                  ./Test

并且没有创建核心转储。我对其他程序做了同样的事情并且它有效,那么为什么它不适用于所有程序?任何人都可以帮助我吗?

谢谢。 (GNU/Linux, Debian 2.6.26)

最佳答案

如果您的程序捕获 SEGV 信号并执行其他操作,则它不会调用操作系统核心转储例程。检查它是否不这样做。

在 Linux 下,出于安全原因,使用 setuid、seteuid 或其他一些参数更改其用户 ID 的进程被排除在转储核心之外(思考:/bin/passwd 在将/etc/shadow 读入内存时转储核心)

您可以在 UID 更改后通过调用 prctl() 来更改其用户 ID 的 Linux 程序上重新启用转储核心

关于linux - 我没有得到所有进程的核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2827520/

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