Linux下利用core文件跟踪错误

来源:互联网 发布:全国土建造价软件 编辑:程序博客网 时间:2024/06/11 22:34

当程序潜在一些bug, 在运行时常常会出现无故崩掉的情况,通过跟踪其产生的core文件排查故障是个不错的选择。

产生core文件的条件:
1.在编译时,gcc/g++ 需要添加一个-g参数
2.程序运行所在主机,需要这是climit -c 为非0
即:在终端执行 climit -a, 查看 core文件的限制大小,若为0,则无法产生core文件。
操作方法:climit -c unlimited, 也可以采用 climit -c N, (N为具体数值,单位为kB)

通过core文件跟踪:
1.当程序遇到不可知异常退出时,默认在程序运行目录下会产生一个core.xxx xxx为该程序的进程号。
2.执行一下命令,gdb bin_name core.xxx (bin_name为程序名,若与执行名字不在同一目录, 需加具体路径)
3.然后执行bt, 就可以看到详细错误信息了。

原创粉丝点击