Создание дампов аварийного завершения программы в ОС Linux
Элемент <dump>
usr1cv8 soft core unlimited
usr1cv8 hard core unlimited
Сохранить.
$ sudo mkdir /dumps
$ sudo chmod -R 777 /dumps
$ sudo nano /etc/sysctl.conf
Добавить
kernel.core_pattern=/dumps/core.%e.%p
Сохранить.
Элемент <dump>
Элемент
<dump>
определяет параметры дампа, создаваемого при аварийном завершении приложения.
Чтобы отключить запись дампов, нужно в элементе <dump> установить значение параметра create = "0" или create = "false". Если элемент <dump> отсутствует, то для записи дампов
будет использоваться каталог %USERPROFILE%\Local Settings\Application
Data\1C\1cv8\dumps (для ОС Windows).
ВНИМАНИЕ! Для ОС Linux и macOS настройка формирования дампов выполняется
средствами ОС. Поэтому элемент <dump>
игнорируется. Подробнее о настройке формирования дампов в ОС Linux см. здесь, а для ОС macOS ‑ см. здесь.
Формирование дампов аварийного завершения
настраивается для всех процессов, исполняемых от лица конкретного пользователя.
Для того, чтобы включить автоматическую генерацию дампов, необходимо в файл
/etc/security/limits.conf
добавить следующие строки:
<username> soft core unlimited <username> hard core unlimited
Где
<username> ‑ это
имя пользователя, от лица которого выполняется приложение системы
«1С:Предприятие».
$ sudo nano /etc/security/limits.conf
Добавить в конец:
usr1cv8 soft core unlimited
usr1cv8 hard core unlimited
Сохранить.
$ sudo mkdir /dumps
$ sudo chmod -R 777 /dumps
$ sudo nano /etc/sysctl.conf
Добавить
kernel.core_pattern=/dumps/core.%e.%p
Сохранить.
$ sudo sysctl -p /etc/sysctl.conf
$ sudo reboot
$ sudo reboot
Проверим
$ ulimit -a
core file size (blocks, -c) 0
......
$ ulimit -a
core file size (blocks, -c) 0
......
$ sudo su - usr1cv8
usr1cv8@server:~$ ulimit -a
core file size (blocks, -c) unlimited
......
usr1cv8@server:~$ ulimit -a
core file size (blocks, -c) unlimited
......
$ bash
$ ps ax | grep bash
3158 pts/0 Ss 0:00 -bash
10147 pts/0 S 0:00 bash
10595 pts/0 R+ 0:00 grep --color=auto bash
$ kill -s SIGSEGV 10147
Ошибка сегментирования (сделан дамп памяти)
3158 pts/0 Ss 0:00 -bash
10147 pts/0 S 0:00 bash
10595 pts/0 R+ 0:00 grep --color=auto bash
$ kill -s SIGSEGV 10147
Ошибка сегментирования (сделан дамп памяти)
$ sudo mkdir /home/usr1cv8/dumps
$ sudo -u usr1cv8 mkdir /home/usr1cv8/dumps
$ echo 'usr1cv8 soft core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'usr1cv8 hard core unlimited' | sudo tee -a /etc/security/limits.conf
$ sudo -u usr1cv8 mkdir /home/usr1cv8/dumps
$ echo 'usr1cv8 soft core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'usr1cv8 hard core unlimited' | sudo tee -a /etc/security/limits.conf
$ echo 'kernel.core_pattern=/home/usr1cv8/dumps/core.%e.%p ' | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p /etc/sysctl.conf
$ sudo su - usr1cv8
usr1cv8@server:~$ ulimit -a
core file size (blocks, -c) unlimited
$ sudo sysctl -p /etc/sysctl.conf
$ sudo su - usr1cv8
usr1cv8@server:~$ ulimit -a
core file size (blocks, -c) unlimited
Комментариев нет:
Отправить комментарий