Purify检测的代码错误类型

发表于:2008-09-17来源:作者:点击数: 标签:代码Purify检测类型purify
一、红色叹号提示 1、 ABR: Array Bounds Read 数组越界读(只检测动态内存分配的数组,对Global、Local、Static的数组无法检测)。 2、 ABW: Array Bounds Write 数组越界写(只检测动态内存分配的数组,对Global、Local、Static的数组无法检 3、 ABWL: Lat

一、红色叹号提示

1、  ABR: Array Bounds Read

数组越界读(只检测动态内存分配的数组,对Global、Local、Static的数组无法检测)。

2、  ABW: Array Bounds Write

数组越界写(只检测动态内存分配的数组,对Global、Local、Static的数组无法检

3、  ABWL: Late Detect Array Bounds Write (An ABWL message indicates that the program wrote a value before the beginning or after the end of an allocated block of memory)
4、  BSR: Beyond Stack Read

函数可能读了一个当前堆栈之外的指针。例如在写变量值的时候程序出现了异常,那么读此变量时,就会发生BSR错误。(不适用于堆栈内的本地数组)

5、  BSW: Beyond Stack Write

函数可能写了一个当前堆栈之外的指针。(不适用于堆栈内的本地数组)

6、  EXU: Unhandled Exception

未经处理的异常

7、  FFM: Freeing Freed Memory

正在释放已经释放过的内存。
8、  FIM: Freeing Invalid Memory

试图释放未分配的、无效的内存。

9、  FMM: Freeing Mismatched Memory

释放不匹配的内存,用不正确的API函数释放某类内存。

10、FMR: Free Memory Read

读取已经释放或者未经分配的内存内容。

11、 FMW: Free Memory Write

对已经释放或者未经分配的内存做写入操作。

12、 FMWL: Late Detect Free Memory Write

13、IPR: Invalid Pointer Read

程序正在读取一个无效的,不可以设定地址的内存区域。

14、IPW: Invalid Pointer Write

程序正在对一个无效的,不可以设定地址的内存区域进行写操作。

red zone

For error detection runs, the bytes that are placed at the beginning and end of each allocated block of memory in a program at run time. The red zone is used to detect Array Bounds Read (ABR), Array Bounds Write (ABW), and Late Detect Array Bounds Write (ABWL) errors.

15、NPR: Null Pointer Read

空指针读。

16、NPW: Null Pointer Write

空指针写。

原文转自:http://www.ltesting.net