记录Ubuntu中软件崩溃堆栈

临时方式

重启不保存

设置崩溃日志存储路径

创建脚本文件

$ 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

保存并重启系统

你可能感兴趣的:(Linux)