* 缓冲区溢出(buffer overflow)

void foo(char *str)
{
    char buf[10];
    strcpy(buf, str);
    ......
}

 数组越界
 悬空指针
 内存泄漏
 除0
 拼写错误
 误删文件
 不可重入函数的操作,同时修改了全局的变量,本质原因是异步操作,线程不安全
 双层循环造成cpu消耗过大
 函数参数错误
单位不对:比如秒、毫秒
 段错误
每次崩溃都报段错误,而且每次错误的位置又都不太相同,错误又出在系统函数上。那gdb报错的位置不一定是真正出错的位置,可能是别的地方内存溢出了原因,需要具体的来看。
* gdb启动和普通启动的表现不一样
比如网络连接的时候