SIGABRT как получить файл coredump? - PullRequest
6 голосов
/ 11 ноября 2010

Я написал пример программы с kill(pid, SIGABRT), но процесс, который получает SIGABRT, не создает дамп ядра.Как я могу получить файл дампа ядра, отправив сигнал SIGABRT?

Ответы [ 2 ]

7 голосов
/ 11 ноября 2010

yes установить предел файла дампа ядра как неограниченный с помощью

ulimit -c unlimited

, а также проверить путь генерации дампа ядра, обычно дамп ядра генерируется в текущем каталоге процесса, но путем предоставленияпуть в /proc/sys/kernel/core_pattern вы можете изменить путь и имя генерации ядра, как показано ниже

echo /var/log/mycore >  /proc/sys/kernel/core_pattern

теперь ядро ​​будет сгенерировано как /var/log/mycore.pid.

Пожалуйста, обратитесь к человекуядро, если вы все еще не видите ядро, отправьте нам вывод команды ниже

cat /proc/sys/kernel/core_pattern

Вы также можете посмотреть в http://yusufonlinux.blogspot.com/2010/11/debugging-core-using-gdb.html

6 голосов
/ 11 ноября 2010

Вам нужно установить дамп ядра ulimit на значение выше нуля до запуска процесса, который вы хотите прервать:

ulimit -c unlimited
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...