好奇的探索者,理性的思考者,踏实的行动者。
* 缓冲区溢出(buffer overflow)
void foo(char *str)
{
char buf[10];
strcpy(buf, str);
......
}
数组越界
悬空指针
内存泄漏
除0
拼写错误
误删文件
不可重入函数的操作,同时修改了全局的变量,本质原因是异步操作,线程不安全
双层循环造成cpu消耗过大
函数参数错误
单位不对:比如秒、毫秒
段错误
每次崩溃都报段错误,而且每次错误的位置又都不太相同,错误又出在系统函数上。那gdb报错的位置不一定是真正出错的位置,可能是别的地方内存溢出了原因,需要具体的来看。
* gdb启动和普通启动的表现不一样
比如网络连接的时候