linux中用mtrace 检查内存泄漏
来源:互联网 发布:淘宝信息管理系统建设 编辑:程序博客网 时间:2024/04/27 08:46
使用mtrace检查内存溢出
使用mtrace来调试程序有4个基本的步骤,需要用到GNU C 函数库里面的一些辅助的函数功能。
1.在需要跟踪的程序中需要包含头文件<mcheck.h>,而且在main()函数的最开始包含一个函数调用:mtrace()。由于在main函数的最开头调用了mtrace(),所以该进程后面的一切分配和释放内存的操作都可以由mtrace来跟踪和分析。
2. 定义一个环境变量,用来指示一个文件。该文件用来输出log信息。如下的例子:
$export MALLOC_TRACE=mymemory.log
3. 正常运行程序。此时程序中的关于内存分配和释放的操作都可以记录下来。
4. 然后用mtrace使用工具来分析log文件。例如:
$mtrace testmem $MALLOC_TRACE
下面我们看一个例子:
[hwang@langchao test]$ cat testmtrace.c
#include <mcheck.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *hello;
mtrace();
hello = (char*) malloc(20);
sprintf(hello,"nhello world!");
return 1;
}
[hwang@langchao test]$export MALLOC_TRACE=mytrace.log
[hwang@langchao test]$ gcc testmtrace.c -o testmtrace
[hwang@langchao test]$./testmtrace
[hwang@langchao test]$ mtrace testmtrace mytrace.log
Memory not freed:
-----------------
Address Size Caller
0x08049860 0x14 at /usr/src/build/53700-i386/BUILD/glibc-2.2.4/csu/init.c:0
- linux中用mtrace 检查内存泄漏
- mtrace检查内存泄漏
- mtrace检查内存泄漏
- mtrace检查内存泄漏
- 利用mtrace检查内存泄漏
- 利用mtrace检查内存泄漏
- 利用mtrace检查内存泄漏
- 用mtrace检查内存泄漏
- 用mtrace检查内存泄漏
- 使用mtrace进行内存泄漏检查
- Linux mtrace命令检测内存泄漏
- linux c 内存泄露检查 mtrace() 笔记
- mtrace 跟踪内存泄漏
- mtrace内存泄露检查
- mtrace的用法---Linux下内存泄漏检测
- linux下检查内存泄露的工具--mtrace
- linux下检查内存泄露的工具 mtrace
- linux下检查内存泄露的工具--mtrace
- WEP加密算法弱点分析
- 修改Myeclipse的编码
- STL中map实现技术
- uva physics
- Spring Integration集成框架之JDBC
- linux中用mtrace 检查内存泄漏
- HDU 1159 Common Subsequence (动态规划LCS)
- NGUI 的callWhenFinished必须激活eventReceiver才能起效果。
- Libpcap库主要函数
- 河南省第一届大学生程序设计大赛解题报告
- Ecological Premium
- Spring Integration集成框架之Message-Channel
- Windows核心编程学习六:进程优先级组和线程优先级
- JSP隐藏对象--JAVA web开发