生成core dump文件
# 查看core dump文件限制
➜ ~ ulimit -c
0
# 临时开启core dump限制(只对当前terminal生效)
➜ ~ ulimit -c unlimited
➜ ~ ulimit -c
unlimited
# 查看core dump文件生成位置及格式
# 方法1:
➜ ~ cat /proc/sys/kernel/core_pattern
/mnt/wslg/dumps/core.%e
# 方法2:
➜ ~ /sbin/sysctl kernel.core_pattern
kernel.core_pattern = /mnt/wslg/dumps/core.%e
调试core dump文件
在生成core dump文件后,使用gdb进行调试(其中,可执行文件需带调试信息即-g编译,否则无法查看崩溃的具体位置)
# 加载core dump文件
gdb %exec_file% %core_file%
# 查看堆栈信息
(gdb) bt
# 查看汇编代码
(gdb) disass
# 查看寄存器的值
(gdb) info reg