我有一个程序在 Mac Catalina 下出现了段错误,但是核心文件在 /cores 中没有显示。我检查过了核心文件大小为无限制,并且通过创建一个包含 "limit core unlimited" 的 /etc/launchd.conf 文件和执行 "launchctl" 来启用了核心文件。但是这些都没有任何效果。
有人知道如何在 Catalina 下重新启用核心文件,或者它们存储在哪里吗?
我有一个程序在 Mac Catalina 下出现了段错误,但是核心文件在 /cores 中没有显示。我检查过了核心文件大小为无限制,并且通过创建一个包含 "limit core unlimited" 的 /etc/launchd.conf 文件和执行 "launchctl" 来启用了核心文件。但是这些都没有任何效果。
有人知道如何在 Catalina 下重新启用核心文件,或者它们存储在哪里吗?
我最近升级到了macOS Catalina,但奇怪的是即使sysctl -a
命令显示了预期的kern.corefile: /cores/core.%P
和kern.coredump: 1
,同时在交互式shell中运行了ulimit -c unlimited
命令,我仍然无法生成核心转储文件。最终我找到了问题所在,原因是/cores目录的权限为rwxr-xr-x
。当我运行sudo chmod 1777 /cores
命令后,即使作为非root用户也能够创建核心转储文件。
/bin/
中的文件不允许抛出核心。如果您调用sleep 50000&
并使用kill -11 %1
,这将不会生成核心转储文件。/tmp/
中,则会生成核心转储文件。