gpt4 book ai didi

coredump - 在 macOS Sierra 中为崩溃的进程启用核心转储

转载 作者:行者123 更新时间:2023-12-01 16:41:32 38 4
gpt4 key购买 nike

我需要为由 SIGABRT、SIGBUS 等终止的进程启用核心转储文件创建。

在以前版本的 MAC OS X(包括 ElCapitan)中,为我将执行的所有进程启用代码转储文件:

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

现在这个方法行不通了。在 this Site谈论新的 gcore 命令,但它适用于正在运行的进程。对于 KernelCoreDumps 现在您必须启用 NVRAM 变量 official .

最佳答案

我刚刚在 Xcode 9 上尝试了 ulimit -c unlimited,然后执行一些肯定会出现段错误的内容,并且,宾果,得到了一个用 /core/ 编写的核心转储。也就是说,我尝试过

#include <stdio.h>
int main()
{
int a[2];
printf("\n hi\n");
a[20000]=10;
return 0;
}

将其保存到一个文件,例如 x.c,然后在上面执行 ulimit 的同一终端 session 中执行 cc x.c (假设您已安装 Xcode 的命令行工具),然后是 ./a.out

无论您相信与否,核心转储的大小超过 700Mb。

关于coredump - 在 macOS Sierra 中为崩溃的进程启用核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39852691/

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