由于程序潜在一些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.xxx xxx为该程序的进程号。
执行一下命令,gdb bin_name core.xxx (bin_name为程序名,若与执行名字不在同一目录, 需加具体路径)
然后 执行bt, 就可以看到详细信息了
阅读(2208) | 评论(0) | 转发(0) |