的退出码 像 UNIX 下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式。这里,我们所要讲述的是 Purify 的退出码,我们知道程序都有退出码,以提供给别的程序或操作系统自己运行" name="description" />

C/C++内存问题检查利器—Purify的退出码

发表于:2009-04-20来源:作者:点击数: 标签:利器Purify内存检查purify
Purify MI LY: 宋体">的退出码 像 UNIX 下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式。这里,我们所要讲述的是 Purify 的退出码,我们知道程序都有退出码,以提供给别的程序或操作系统自己运行

PurifyMILY: 宋体">的退出码

UNIX下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式。这里,我们所要讲述的是Purify的退出码,我们知道程序都有退出码,以提供给别的程序或操作系统自己运行的信息。被Purify编译过的程序,你可以通过指定-exit-status参数来告诉Purify是否用Purify的退出码,如果这个参数值为yes,那么表示使用Purify的退出码,如果值为no则表示使用程序内的退出码。

 

如果我们这样设置:-exit-status=yes,那么Purify的退出码是这样定义的:

 

内存错误种类

退出码(按位或)

内存存取错误

0x40

内存泄露

0x20

潜在内存泄露

0x10

 

通过上表,我们可以知道,当-exit-status参数被打开后,程序的退出码被Purify完全接管,如果程序中有内存错误,那么退出码所对应的位就会被置为1,这样,我们可以用别的程序来调用Purify所编译出来的程序,并根据其退出码作相应的处理。

 

 

八、             PurifyShell的集成

你可以在UNIXShell环境中使用Purify的一些参数和信息,PurifyShell提供了一些通配符之类的东西,只要你使用 –run-at-exit参数。例如你有一个Shell程序想把Purify生的文件拷贝到别的目录中,或是你想根据Purify的报告中是否有内存错误进行下一步的行动。

 

下面有两个表格,说明了一些PurifyShell交互的参数:

 

有关内存出错的信息:

通配字符串

含义

%z

指明是否有内存错误或内存泄露。其值是“true”或“false

%x

程序的退出状态(如果是0,表示程序没有调用exit函数)

%e

程序中内存访问错误的个数。

%E

程序中错误总数。

%l

内存泄露的字节数。

%L

潜在内存泄露的字节数。

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