How to enable coredump on centos 7.6

Don't know why coredump is disabled by default on centos7.6 as below:shell

#cat /proc/sys/kernel/core_pattern
core

Enable as follows:centos

#echo 'kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e' > /etc/sysctl.d/50-coredump.conf
#/lib/systemd/systemd-sysctl
#sysctl -a | grep 'kernel.core_pattern'
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e

warning: encountered a case it always failed to generate coredump when using shell scripts to run program; use another path can workaround this problem.ui

#cat /etc/sysctl.d/50-coredump.conf
#kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e
kernel.core_pattern=/core-%e-sig%s-user%u-group%g-pid%p-time%t

How to generate coredump on purpose?this

Press ctl + \:centos7

#sleep 100
^\Quit (core dumped)

or use gdb attach a running task and run:code

#sleep 100 &
[1] 5121

#gdb -p 5121

(gdb) generate-core-file
warning: target file /proc/5121/cmdline contained unexpected null characters
warning: Memory read failed for corefile section, 8192 bytes at 0x7ffd4d94f000.
Saved corefile core.5121
(gdb)

coredump:ip

#ls /var/lib/systemd/coredump/
core.sleep.0.f4b677edcb284566a56c5e61a621fca5.44660.1555487558000000.xz
相關文章
相關標籤/搜索