1. 使用未分配成功的内存 解决案: ①在使用内存前检查指针是否为NULL ②参数是指针时,在函数入口处用assert进行判断 ③如果指针指向动态申请的内存,用if进行容错处理2. 使用分配成功,但未初始化的内存 解决案: ①定义数组后一定要初始化3. 内存泄漏 解决案: ...
分类:
编程语言 时间:
2014-10-15 18:35:40
阅读次数:
152
总体上来讲,oracle的坏块可以分为两种情景:物理损坏和逻辑损坏。物理损坏是由于存储等原因造成的,致使oracle在处理数据块时发现块的checksum不一致。逻辑损坏多是由于oracle的bug或者内存错误引起,通过检测数据块的checksum并不会发现什么问题,但是在逻辑上这些块已经发生了损坏。
oracle通过两个参数来控制对物理损坏和逻辑损坏的检测:
SQL> show parame...
分类:
数据库 时间:
2014-10-09 20:32:17
阅读次数:
291
如图,这个错误使无数玩家烦恼。 出现这个错误,可能是硬件的问题,也可能是软件的问题。可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的。大致介绍一下这个错误是怎样发生的。这个错误的本意是提示内存错误,可是通常情....
分类:
其他好文 时间:
2014-10-09 14:46:43
阅读次数:
213
04-常见内存错误以及valgrind使用
代码段:
只读数据,因此对这一部分的数据,试图写只读数据,这个在编译的时候基本上可以检测。
数据段/BSS段:
未初始化直接访问,即使没有显示初始化,仍然会初始化为0
栈空间数据:
(1)局部变量,未初始化变量会给随机的初值,出现异常情况更诡异
(2)栈溢出:在栈中申请过大的局部变量
堆空间数据
内...
分类:
其他好文 时间:
2014-09-28 18:41:43
阅读次数:
350
http://see.xidian.edu.cn/cpp/html/483.html一、指针没有指向一块合法的内存定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存。浅显的例子就不举了,这里举几个比较隐蔽的例子。1、结构体成员指针未初始化struct student{ char *...
分类:
编程语言 时间:
2014-09-03 19:49:07
阅读次数:
292
如图,这个错误使无数玩家烦恼。 出现这个错误,可能是硬件的问题,也可能是软件的问题。可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的。大致介绍一下这个错误是怎样发生的。这个错误的本意是提示内存错误,可是通常情....
分类:
其他好文 时间:
2014-08-13 22:11:57
阅读次数:
252
如图,这个错误使无数玩家烦恼。 出现这个错误,可能是硬件的问题,也可能是软件的问题。可是,因为硬件引起该问题的概率非常小,而且除了更换硬件之外没有更好的解决方法,因此本文将具体介绍怎样通过软件解决此问题,这也是大家最关心的。大致介绍一下这个错误是怎样发生的。这个错误的本意是提示内存错误,可是通常情....
分类:
其他好文 时间:
2014-08-12 18:32:24
阅读次数:
210
Java中垃圾收集Garbage Collection GC提供了内存管理机制,使得应用程序不需要关注内存时如何释放,内存用完之后,垃圾收集会进行收集,这样就减轻了因人为管理内存而造成的内存错误。1.常见的垃圾收集策略 所谓的垃圾收集算法都面临一个问题,那就是找出应用程序不可到达的内存块,然后...
分类:
编程语言 时间:
2014-08-06 01:37:00
阅读次数:
243
1、返回局部变量地址将引起内存错误
2、临时空间过大:操作系统在加载某个应用程序时,都将为其分配一定大小的栈空间,若申请过大的局部变量,可能会引起栈溢出问题。
3、src 和 dst 内存覆盖:在进行字节内存复制时,常会出现这一问题。因为部分系统库函数并没有提供内存覆盖的检测功能,从而导致错误。
如下即是源内存区和目的内存区覆盖的示例:
#include
#inc...
分类:
其他好文 时间:
2014-07-27 11:26:02
阅读次数:
185