aax*_*aax 6 coredump ulimit sysctl macos-sierra
我需要为SIGABRT,SIGBUS,etc等终止的进程启用核心转储文件创建.
在以前版本的MAC OS X(包括ElCapitan)中,我将为所有进程启用Code Dumps文件:
sudo sysctl -w kern.corefile=/Users/tester/core.%U.%P.%N.dump
sudo sysctl -w kern.coredump=1
sudo launchctl limit core unlimited
sudo ulimit -c unlimited
launchctl limit core unlimited
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
现在这种方式不起作用.在本网站上讨论新的gcore命令,但它适用于运行进程.对于KernelCoreDumps,您现在必须启用NVRAM变量官方.
我刚刚尝试ulimit -c unlimited
使用 Xcode 9,然后执行一些肯定会出现段错误的内容,宾果游戏,得到了一个用/core/
. 也就是说,我尝试过
#include <stdio.h>
int main()
{
int a[2];
printf("\n hi\n");
a[20000]=10;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
将其保存到一个文件中,例如,然后在您执行上述操作的x.c
同一终端会话中(假设您安装了 Xcode 的命令行工具),然后是ulimit
cc x.c
./a.out
无论您相信与否,核心转储的大小超过 700Mb。
归档时间: |
|
查看次数: |
1439 次 |
最近记录: |