乐趣区

Core dump调试小记(暂时未解决)

缘起
现场的故障,让我支持一下。
过程
第一次

通过简易的日志,定位到了函数文件,远程连到现场环境,直接 gdb 进程名,一直到函数 return,都没有 core 掉。
干得比较仓促,都没有再看看相关函数

第二次

吃完饭,睡过觉后,继续定位,毕竟现场的优先级高啊。

跟人沟通后,get 到两点思路,让现场确认一下

1、看下.config 的 CLTSERVID 的值和链路的值是不是不样,确认后都是 26。
2、调高日志级别,原来是 0(只显示错误的),让现场改成 3,最高可支持 9。这个后期得了解一下

第一次,我没有找到生成的 core 文件,也就没管,直接 gdb 了,后面就看了一下。

linux 下生成 core dump 文件方法及设置

ulimit - c 如果是 0,则无法生成 core dump,当然也可以用 ulimit - a 查看。用 ulimit -c 2048 去设置 core 的大小

让现场试了以上三招后,重新跑个进程,捞个日志来看看的,给我截图说这个错“ORA-00257: archiver error. Connect internal only, until freed”,是现场的生产环境连接不上库了,于是再次挂起。

最后
参考

段错误调试神器 – Core Dump 详解
关于 ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

履历
20190212 遇到的问题,写了第一次、第二次。

退出移动版