1.首先输入命令: ulimit -c,如果返回0,说明当前没有开启自动保存崩溃文件功能,可通过命令:
ulimit -c unlimited
开启自动保存崩溃文件功能,并设置不限制崩溃文件大小。
2.设置崩溃文件保存路径:
echo "/var/core/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
注意如果core目录不存在,需要手动创建,不然不会生成崩溃文件。
3.执行程序,崩溃,提示如下图:
4.在/var/core目录中找到最新的崩溃文件,并在程序运行目录下执行以下命令:
gdb -c /var/core/core-server-18188-1541988073 ./server
其中server是我当前崩溃了的程序。
5.打印崩溃日志:
执行上述命令后,会进入gdb调试模式,然后输入命令:bt,便会打印崩溃堆栈。