ubuntu core文件
ubuntu开启core
- 检查是否开启core
ulimit -c //0表示没有开启
- 开启core
ulimit -c unlimited
sudo sh -c 'echo 1 > /proc/sys/kernel/core_uses_pid'
sysctl -w kernel.core_pattern=/tmp/core-%e.%p.%h.%t
*永久开启
sudo vi /etc/profile
ulimit -S -c unlimited > /dev/null 2>&1
sudo vi /etc/security/limits.conf
* soft core unlimted
sudo vi /etc/default/apport
enabled=0
sudo vi /etc/sysctl.d/50-coredump.conf
kernel.core_uses_pid = 1
kernel.core_pattern = /tmp/core-%e.%p.%h.%t
- 检查开启状态
ulimit -c
unlimited
# 1 表示使用procid命名,0表示不使用
cat /proc/sys/kernel/core_uses_pid
1
# core文件路径
cat /proc/sys/kernel/core_pattern
/tmp/core-%e.%p.%h.%t
- 调试core文件
# 第一种
gdb 可执行文件名 core文件
bt
# 第二种
gdb -c core_file
symbol-file 应用的执行程序(绝对路径)
sharedlibrary
bt