Как получить дамп ядра на OS X Lion? - PullRequest
1 голос
/ 22 февраля 2012

Я работаю над расширением PostgreSQL в C, которое segfaults, поэтому я хочу посмотреть файл дампа ядра на моем OS X Lion box. Тем не менее, в /cores или где-либо еще я не могу найти никаких файлов ядра. Похоже, что они включены в системе, но ограничены размером 0:

> sysctl kern.coredump               
kern.coredump: 1
> ulimit -c
0

Я попытался установить ulimit -c unlimited в сеансе оболочки, который я использую для запуска и остановки PostgreSQL, и похоже, что он придерживается:

> ulimit -c
unlimited

И все же, что бы я ни делал, никаких файлов ядра. Я запускаю PostgreSQL с pg_ctl -c, где -c указывает PostgreSQL генерировать дампы ядра. Но система не имеет ничего. Как я могу получить Lion для дампа основных файлов?

1 Ответ

1 голос
/ 22 июня 2012

Каталог / cores / не обязательно находится в Lion, и если его нет, вы не получите ядра.Вы должны быть в состоянии установить ulimit (как у вас), запустить программу наподобие cat (1), выйти с SIGQUIT (control-backslash) и получить coredump:

lion: ~ user $ ulimit -c неограниченный лев: ~ user $ cat ^ \ ^ \ Quit: 3 (core dumped) лев: ~ user $ ls -l / cores / total 716584 -r -------- 1 пользователь 366891008 21 июня 23:35 core.1263 lion: ~ user $

Техническое примечание TN2124 http://developer.apple.com/library/mac/#technotes/tn2124/, как подсказал Yuji в https://stackoverflow.com/a/3783403/225077, полезно.

...