stl map find使用不当导致的低概率core dump问题的定位
来源:互联网 发布:国云大数据魔镜 编辑:程序博客网 时间:2024/05/21 06:33
最近呢, 收到低概率core dump告警, 不频繁, 但挺恼人, 那就展开定位呗。再低概率的core, 在亿万请求下, 必然会发生。
这么搞起:
1. 上外网core dump的机器一看, 没有core文件了, 于是从backup目录找到了备份的core
2. 看了一下core文件的大小, 太小, 无法定位, 这肯定是被截断了。
3. 完全放开机器的core开关, 并重启服务, 蹲点等待core dump的发生(考虑到性能问题, 不建议在默认情况下打开core开关).
4. 第二天, 有core了, 从backup文件中找到了core, 看了一下大小, 符合预期, 高兴啊。
5. 准备用gdb挂起分析, 我靠, 该模块机器居然没有安装gdb
6. 那行, 把外网机器的so和core拷贝到安装gdb的对应测试机器上进行分析, 结果不靠谱。 拷贝core需要的时间不短呢, 我当时用了tar
7. 那就手动在外网机器上安装gdb, 这是我第一次安装gdb, 不难, linux上一切皆文件, 直接拷贝测试机上对应的gdb文件即可(可以用whereis命令查找位置),不像Windows上那样有恶心的注册表
8. 安装后, 用gdb挂起core分析, 定位到了对应的代码行, 果然有嫌疑。 然后, 修改发版本解决了。
后来我找运维同学批量安装了gdb, 棒棒哒!
特别注意:
1. 这么珍贵的core文件, 一定一定要做好备份, 我当时用tar命令的时候, 敲错了命令, 破坏了core文件, 幸亏, 我备份了。 否则就恶心到自己了
2. 平时要重视代码review, 某哥之前review出了类似代码问题
当时导致低概率core dump的类似代码为:
#include <iostream>#include <string>#include <map>using namespace std;int main(){map<string, string> m;m["1"] = "2";map<string, string>::iterator it = m.find("1");cout << it->second << endl; return 0; }
上面没有对it进行判断, 就直接用了second, 为core dump的出现埋下了伏笔。
具体调试很简单的, 我就不说了, 之前的博客已经有详细介绍。
- stl map find使用不当导致的低概率core dump问题的定位
- 一个低概率core dump问题的定位------打印log时访问了长度为0的vector
- 一个低概率core dump问题的解决------static搞起
- 一个无厘头的core dump问题定位
- 栈溢出导致的core dump的定位------千年等一回
- snprintf类型不匹配导致的core dump问题分析与定位
- makefile文件没写好导致程序core dump的定位经历与反思------又是"协议"不一致产生的core dump
- Android中Handler使用不当导致内存泄露的问题
- RabbitMQ使用不当导致的队列堵塞问题及解决办法
- Protobuf使用不当导致的程序内存上涨问题
- RabbitMQ使用不当导致的队列堵塞问题及解决之道
- STL map<char*,void*> 的find问题
- 两例栈溢出导致的core dump
- 一个与stl有关的概率coredump问题的定位
- simple_html_dom使用不当导致的内存泄漏
- mysql limit 使用不当导致的bug
- Messenger使用不当导致的内存泄漏
- 再聊用strace来定位没有core文件的core dump
- 树莓派远程桌面
- 九度+简单模拟题+主要是那个整数翻转的处理方法好
- leetcode-003 Longest Substring Without Repeating Characters
- Light OJ 1203 凸包+寻找凸多边形最小角度
- Lua中的元表与元方法
- stl map find使用不当导致的低概率core dump问题的定位
- 打电话Demo及Android6.0的运行时权限问题
- 【CODEVS 1183】泥泞的道路 SPFA+二分
- 遗传算法 一个模拟自然进化过程的启发式搜索算法
- 邮件发送和接收原理
- 计算机三座高峰:
- Leetcode 95. Unique Binary Search Trees II (Medium) (cpp)
- 【Easy】88. Merge Sorted Array
- BZOJ 1024 SCOI2009 生日快乐 暴搜