【问题标题】:Mac Catalina corefile locationsMac Catalina 核心文件位置
【发布时间】:2019-11-13 19:29:08
【问题描述】:
我有一个在 Mac Catalina 下出现段错误的程序,但核心文件没有显示在 /cores 中。我检查以确保核心文件大小不受限制,并且通过创建 /etc/launchd.conf 文件(其中包含“限制核心无限”)和执行“launchctl”来启用核心文件。这些都没有任何效果。
有人知道如何在 Catalina 下重新启用核心文件,和/或它们的存储位置吗?
【问题讨论】:
标签:
macos
coredump
macos-catalina
【解决方案1】:
我最近升级到了 macOS Catalina,尽管sysctl -a 报告了预期的kern.corefile: /cores/core.%P 和kern.coredump: 1,但我仍然无法获得核心转储,这让我感到很困惑。并在我的交互式 shell 中运行 ulimit -c unlimited。我最终将问题追溯到具有rwxr-xr-x 权限的/cores 目录。一旦我完成了sudo chmod 1777 /cores,我就能够以非 root 用户身份创建核心转储。
【解决方案2】:
看来/bin/中的文件是不允许抛核的。
如果您将sleep 50000& 调用到kill -11 %1,则不会生成核心转储。
如果您事先将程序复制到/tmp/,它会。
因此,使用 SIG11 终止睡眠以验证核心文件生成的有用技巧不会轻易奏效。
似乎在同一外壳中杀死后台进程并不会在所有情况下产生核心转储。