Macos 如何在Mac上生成核心文件?

Macos 如何在Mac上生成核心文件?,macos,debugging,gdb,core,Macos,Debugging,Gdb,Core,我有一个程序,我希望在gdb中调试分割错误,但我不确定如何从中生成核心文件 我尝试了$ulimit-c unlimited,但是当运行程序并导航到/cores/时,当我键入ls时,那里没有生成核心文件 我有什么遗漏吗 提前谢谢 启用核心文件生成的方式取决于shell。您显示的语法适用于使用sh或bash作为shell的用户,应该可以正常工作。e、 g % sh sh-3.2$ cat>/tmp/a.c int main () { void (*f)() = 0; f(); } sh

我有一个程序,我希望在gdb中调试分割错误,但我不确定如何从中生成核心文件

我尝试了
$ulimit-c unlimited
,但是当运行程序并导航到/cores/时,当我键入
ls
时,那里没有生成核心文件

我有什么遗漏吗


提前谢谢

启用核心文件生成的方式取决于shell。您显示的语法适用于使用
sh
bash
作为shell的用户,应该可以正常工作。e、 g

% sh
sh-3.2$ cat>/tmp/a.c
int main ()
{
  void (*f)() = 0;
  f();
}
sh-3.2$ clang -g /tmp/a.c -o /tmp/a.out
sh-3.2$ ulimit -c unlimited
sh-3.2$ /tmp/a.out
Segmentation fault: 11 (core dumped)
sh-3.2$ ls -l /cores/core.10893 
-r--------  1 jason  admin  367714304 Nov 16 13:13 /cores/core.10893

sh-3.2$ gdb -q /tmp/a.out /cores/core.10893 
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries 
warning: Could not find object file "/var/folders/5h/nlzqfv116jnc68g495d_3j4m0000gn/T/a-pUbMeU.o" - no debug information available for "/tmp/a.c".

.......................... done
#0  0x0000000000000000 in ?? ()
(gdb) add-dsym /tmp/a.out.dSYM 
Added dsym "/tmp/a.out.dSYM" to "[memory object "/private/tmp/a.out" at 0x10f5d7000]".
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x000000010f5d7f3d in main () at /tmp/a.c:4
(gdb)