您的位置:首页 > 其它

一个地雷式的core dump------又是空vector惹的祸

2016-05-05 23:10 453 查看
        某代码的表现一直正常, 但经历一个正常的修改后, 程序就core dump了, 经定位, 原因是: 原来代码埋了个地雷, 一直没有被调用触发, 新增的正常代码刚好触发了这个雷, 故core dump. 那具体原因是什么呢? 且看简单的demo代码:

#include <iostream>
#include <vector>
using namespace std;

int main()
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.clear();

cout << v[0] << endl;
return 0;
}
       对空vector进行不当操作, 于是就core dump了, 用gdb分析也很简单, 故不赘述。

      本文主要是说“地雷式”core dump, 另外说了操作stl要小心。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: