程序崩溃的常见原因 |
您所在的位置:网站首页 › 内核崩溃是什么意思 › 程序崩溃的常见原因 |
常出现程序崩溃的几种状况 程序崩溃对于程序猿来说,时经常出现的问题,如果你都没有出现过,那大佬快收下我的膝盖吧。程序崩溃一般都发生在运行时期,而崩溃的原因一般都是程序猿的失误所导致的,在这里我就总结了这几种程序崩溃的 读取未赋值的变量 这个错误一般是由于程序猿粗心大意,没有给变量初始化和赋值,导致该变量的值为脏值。 函数栈溢出 函数栈溢出一般是由两种情况引起的: 1、定义了一个体积太大的局部变量或者参数,参数和局部变量一般都是存储在栈中的,但是栈所占的内存空间很小,在32位下只占有8M的空间,因此如果没有使用malloc和new来在堆上创建内存空间的话,栈溢出就会很容易发生。 2、函数的嵌套调用的层次太深了,就像无穷递归和无穷的循环调用一样。 数组访问越界 这个是程序崩溃最常见的问题,这个就只需要程序猿仔细小心点了。 指针的目标对象不可用 指针所指向的对象要正常使用,它就必须是一个合法的,有效的,可以访问的对象,像当指针为空指针或者是野指针时,你再使用它程序就会立马崩溃。而出现空指针或者野指针一般都是下面这几种操作导致的: 1、指针未赋值 2、free/delete释放了该对象 3、不恰当的指针强制类型转换 参数错误 这个就是由于程序猿的猿性导致的了,我们一般为了保证参数合法,都会设置断言来保证只有参数合法的情况下程序才可以正常运行,因此这类错误一般都是由于触发了断言导致的。 以上就是我说知道的程序崩溃的几种原因了,感觉总的来说,程序崩溃大多数都是由于我们程序猿的一些粗心大意所导致的问题,这种问题的出现真的是程序猿的猿的猿。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |