临时方式
重启不保存
设置崩溃日志存储路径
创建脚本文件
$ gedit write.sh
内容如下
echo "/var/core/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
执行脚本文件
注意:一定要使用超级权限
$ sudo ./write.sh
开启崩溃堆栈存储
查看是否开启崩溃记录
$ ulimit -c
如果结果为0,代表没有开启
开启方式
$ ulimit -c unlimited
调试堆栈
$ sudo gdb -c /var/core/core-demo-2210-1580629045 ./demo
如果需要打印崩溃堆栈,只需要在调试工具中输入bt即可
永久方式
重启后依然有效
设置堆栈转存目录
$ sudo gedit /etc/sysctl.conf
在文件中添加下面的一条语句
kernel.core_pattern=/var/core/core-%e-%p-%t
保存退出并激活
$ sudo sysctl -p /etc/sysctl.conf
由于apport服务会设置转存文件的位置,因此,如果被更改了,重启系统后需要重新激活
设置堆栈文件大小
$ sudo gedit /etc/security/limits.conf
添加下面的语句
* soft core unlimited
保存并重启系统