macOS Big Sur 生成core 文件
macOS是可以直接生成core 文件的,关键是打开生成文件的“开关”。有一下两个步骤。
首先,在可执行程序的同一个目录下写
$ ulimit -c ulimited
使core 文件生成的大小不受限制
(通常core的文件大小可达到几百MB,Mac系统一般默认不生成core文件,即默认设置为生成core文件大小最大为0 ,通过ulimit -c 0 可以恢复默认设置)
mac会将生成的文件统一放在/cores目录下,这个文件即使对根用户也是没有写入权限的,这可通过如下的试探-删除文件夹代码得到检验
touch /cores/test && rm /cores/test
此时终端给出
说明我们没有访问/cores文件夹的权限。为此我们再加上两行修改此文件夹访问权限的代码
sudo chgrp -R admin /cores
sudo chmod -R g+w /cores
这样再执行原来的可执行程序时,如果有bug,就可以生成/cores/core.xxx文件了。