Содержание

Получение core dump в Linux

Проверка создания core dump

Проверим создаются ли файлы core dump вообще (некоторые программы, например httpd, могут требовать индивидуальных настроек). Для этого создадим программу на С++ с ошибкой деления на ноль, что соответственно:) приводит к ошибке и в нашем случае создание файла core dump

test.c
int a (int *p) {
    int y = *p;
    return y;
}
 
int main (void) {
    int *p = 0; /* null pointer */
    return a (p);
}

Компилируем

$ gcc -o test test.c

Запускаем

$ ./test
Segmentation fault (core dumped)
$ file /tmp/core-test-11-0-0-22601-1414579274 
/tmp/core-test-11-0-0-22601-1414579274: ELF 64-bit LSB core file x86-64,
version 1 (SYSV), SVR4-style, from './test'

Как включить core dump?

Настройка производилась для CentOS теперь CentOS Stream 6.5 (Final) x86_64 с ядром Установка и использование OpenVZ в 2023 2.6.32-042stab093.5.

Перезапустите интересующий вас процесс командой service и убедитесь в том, что параметры успешно применились, командой
cat /proc/`pgrep process_name`/limits
Для контейнеров Установка и использование OpenVZ в 2023 - параметр DAEMON_COREFILE_LIMIT должен быть определен в каждой требуемой VE, в отличии от других параметров, которых достаточно определить только в HN.