本质问题有这样几个:
1、在程序分支中出现未处理的情况:程序分支是指判断语句、返回语句,就是改变了程序流程的语句。这样语句容易产生资源泄漏、死锁等问题,要用原子的方法来解决
2、错误的数据:如数据未初始化,在使用数据前未验证数据的值,访问了非法的内存和指针,未验证函数返回值等内容
3、多线程情况下同步的问题:容易造成死锁、资源泄漏、资源访问失败等种种问题
4、处理事情的前提条件不充分:在不满足条件的情况下,处理某些事情,总是会导致失败,比如在没有提权的情况下,打开另一个进程