Ubuntu下C++程序崩溃后打印堆栈日志

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,便会打印崩溃堆栈。

你可能感兴趣的:(Ubuntu下C++程序崩溃后打印堆栈日志)