C/C++内存问题检查利器—Purify (三)
五、 文件描述符问题
#include <stdio.h>
main()
{
FILE* fp;
int num;
fp = fopen("./test.txt", "r");
if ( fp == NULL){
perror("Error:");
exit(-1);
}
fscanf(fp, "%d", &num);
if ( num < 0 ){
printf("Error: the num should be greater than 0!\n");
exit(-1);
}
fclose(fp);
}
|
六、 控制Purify的输出
> ./hello
**** Purify instrumented hello (pid 25698 at Wed Dec 10 22:29:33 2003)
* Purify 2003.06.00 Solaris 2 (32-bit) Copyright (C) 1992-2002 Rational Software Corp. All rights reserved.
* For contact information type: "purify -help"
* Options settings: -follow-child-processes=yes -purify -windows=no \
-purify-home=/usr/rational/releases/purify.sol.2003.06.00 \
-gcc3_path=/usr/local/bin/gcc \
-cache-dir=/usr/rational/releases/purify.sol.2003.06.00/cache \
-demangle_program=/usr/local/bin/c++filt
* License successfully checked out.
* Command-line: ./hello
**** Purify instrumented hello (pid 25698) ****
ABR: Array bounds read:
* This is occurring while in:
strlen [rtlib.o]
_doprnt [libc.so.1]
printf [libc.so.1]
main [hello.c:11]
_start [crt1.o]
* Reading 13 bytes from 0x8ea08 in the heap (1 byte at 0x8ea14 illegal).
* Address 0x8ea08 is at the beginning of a malloc'd block of 12 bytes.
* This block was allocated from:
malloc [rtlib.o]
main [hello.c:8]
_start [crt1.o]
Hello, World
**** Purify instrumented hello (pid 25698) ****
Current file de.ors in use: 5
FIU: file de.or 0: <stdin>
FIU: file de.or 1: <stdout>
FIU: file de.or 2: <stderr>
FIU: file de.or 26: <reserved for Purify internal use>
FIU: file de.or 27: <reserved for Purify internal use>
**** Purify instrumented hello (pid 25698) ****
Purify: Searching for all memory leaks...
Memory leaked: 12 bytes (100%); potentially leaked: 0 bytes (0%)
MLK: 12 bytes leaked at 0x8ea08
* This memory was allocated from:
malloc [rtlib.o]
main [hello.c:8]
_start [crt1.o]
Purify Heap Analysis (combining suppressed and unsuppressed blocks)
Blocks Bytes
Leaked 1 12
Potentially Leaked 0 0
In-Use 0 0
----------------------------------------
Total Allocated 1 12
**** Purify instrumented hello (pid 25698) ****
* Program exited with status code 13.
* 1 access error, 1 total occurrence.
* 12 bytes leaked.
* 0 bytes potentially leaked.
* Basic memory usage (including Purify overhead):
351348 code
101724 data/bss
8192 heap (peak use)
1272 stack
* Shared library memory usage (including Purify overhead):
992 libpure_solaris2_init.so.1 (shared code)
280 libpure_solaris2_init.so.1 (private data)
1079516 libc.so.1_pure_p3_c0_111202132_58_32_1158500S (shared code)
31404 libc.so.1_pure_p3_c0_111202132_58_32_1158500S (private data)
2324 libdl.so.1_pure_p3_c0_111202132_58_32_4624S (shared code)
4 libdl.so.1_pure_p3_c0_111202132_58_32_4624S (private data)
14048 libinternal_stubs.so.1 (shared code)
940 libinternal_stubs.so.1 (private data)
|
C/C++内存问题检查利器—Purify (三)相关推荐
- C/C++内存问题检查利器——Purify
C/C++内存问题检查利器--Purify 一. 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA-Quality Assessment)占了整个软件工程的30% -5 ...
- 内存问题检查利器——Purify
内存问题检查利器--Purify https://www.cnblogs.com/Leo_wl/p/7699489.html 一. 引言 我们都知道软件的测试(在以产品为主的软件公 ...
- C/C++内存问题检查利器—Purify (一)
C/C++内存问题检查利器--Purify 陈皓 一. 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA-Quality Assessment)占了整个软件工程的30% ...
- C/C++内存问题检查利器—Purify
文章转自:http://blog.csdn.net/haoel/article/details/2900 一. 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA-Qua ...
- C/C++内存问题检查利器—Purify (二)
三. 示例 假设我们现在有这样一段程序:hello.c #include <stdio.h> #include <malloc.h> static ch ...
- C/C++内存问题检查利器—Purify (四)
七. Purify的退出码 像UNIX下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式.这里,我们所要讲述的是Purify ...
- C/C++内存问题检查利器—Purify (五)
十. 设置WatchPoint 你可以在你的程序中,对你所想监控的程序设置一些WatchPoint,以方便于你对程序进行调试,或更容易找出问题的原因.就像我前面说,Purify ...
- 检查内存泄露的利器--VLD使用指南
1. VLD简介 Visual Leak Detector是一个免费的,强大的,开源的,可视化C ++内存泄漏检测工具. VLD容易使用.安装后,只需告诉Visual C ++在哪里可以找到包含的头文 ...
- Windows内存管理学习笔记(三)—— 无处不在的缺页异常
Windows内存管理学习笔记(三)-- 无处不在的缺页异常 缺页异常 实验一:设置虚拟内存 无处不在的缺页 位于页面文件 保留与提交的误区 实验二:理解缺页异常 EXECUTE_WRITECOPY ...
最新文章
- ISP算法高水平分析(上)
- [HTTP协议]入门篇
- [置顶] AMF序列化为对象和AMF序列化为二进制字节流
- 李永乐线性代数2020年强化课手写笔记汇总
- C++面向对象设计原则详解
- 血的案例告诫 | 模拟大批量数据测试边界上限
- 移动Web开发基础概念
- TensorFlow中的Nan值的陷阱
- ROS中阶笔记(二):机器人系统设计—URDF机器人建模
- docker -v 文件夹下没有数据_微服务就是Dubbo?并没有那么简单!微服务架构+Docker+k8s了解下...
- Cocos2d-x之MenuItem
- 未能加载文件或程序集“Enyim.Caching”或它的某一个依赖项。未能验证强名称签名...
- rest规范 ; restful 风格; gradel介绍 ; idea安装 ;
- PHP使用MQ消息队列
- Winform UI界面设计例程——多线程访问UI控件
- 操作系统:作业调度算法--短作业优先
- 类型多样的游戏模型3d模型素材,速来收藏
- LSTM之父最新长文:现代AI和深度学习发展史
- 【译】3D打印:介绍
- BUCT 程序设计基础第三篇20~30算法题答案(上)