51Testing软件测试论坛

标题: 高手帮我看看下面的问题--关于purify plus的 [打印本页]

作者: firedragon    时间: 2007-10-15 22:40
标题: 高手帮我看看下面的问题--关于purify plus的
如图单击选项“QuickFilter”,该项隐藏,但后来怎么让隐藏的选项显示???
我是新手 谢谢哈
作者: firedragon    时间: 2007-10-15 22:42
Creater Filter 选项是怎么用的?怎么过滤警告信息的?
作者: firedragon    时间: 2007-10-15 22:43
这个错误什么原因,怎么解决啊?
作者: Seu_why    时间: 2007-10-26 16:01
下面的代码集中显示了上述问题的典型例子:


1   #include <iostream>
2   using namespace std;
3   int main(){
4      char* str1="four";
5      char* str2=new char[4]; //not enough space
6      char* str3=str2;
7      cout<<str2<<endl; //UMR
8      strcpy(str2,str1); //ABW
9      cout<<str2<<endl; //ABR
10     delete str2;
11     str2[0]+=2; //FMR and FMW
12     delete str3; //FFM
13   }




由以上的程序,我们可以看到:在第5行分配内存时,忽略了字符串终止符"\0"所占空间导致了第8行的数组越界写(Array Bounds Write)和第9行的数组越界读(Array Bounds Read); 在第7行,打印尚未赋值的str2将产生访问未初始化内存错误(Uninitialized Memory Read);在第11行使用已经释放的变量将导致释放内存读和写错误(Freed Memory Read and Freed Memory Write);最后由于str3和str2所指的是同一片内存,第12行又一次释放了已经被释放的空间 (Free Freed Memory)。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2