在前面的文章中我们曾向大家介绍了关于Windows系统下如何访问Linux分区的问题,不知道大家觉得怎么样呢!现在我们要向大家介绍的就是Linux系统下如何使用mtrace监测内存!下面大家还是跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!
Linux系统下的Mtrace工具主要能够检测一些内存分配和泄漏的失败等。使用Mtrace来调试程序有4个基本步骤,还需要用到GNUC函数库里面的一些辅助的函数功能:
1.需要包含头文件,并且在main()函数的最开始包含一个函数调用:mtrace()。由于在main函数的最开头调用了mtrace(),所以这个进程后面的一切分配和释放内存的操作都可以由mtrace来跟踪和分析。
2.定义一个环境变量,用来指示一个文件。该文件用来输出log信息。如:
$exportMALLOC_TRACE=mymemory.log
3.正常运行程序。此时程序中的关于内存分配和释放的操作都可以记录下来。
4.然后用mtrace使用工具来分析log文件。如:
$mtracetestmem$MALLOC_TRACE
这里需要注意的是在很多嵌入式的环境中,并不提供export命令,也没有记录环境变量的文件。唯一的办法就是把环境变量加到应用程序中。在Glibc库中有putenv函数,就是写入环境变量的。
intputenv(char*string)[Function]
大家在设置好环境变量后。又有一个问题了:如果程序是自运行的,即没有终止的时候,那想在特定的地方,分析内存情况,怎么办呢?
这个其实还是要看Glibc!调用muntrace函数,log文件就生成了。这时用mtrace命令分析log文件就可以了。
Linux系统下使用mtrace监测内存的方法我们就介绍完了,大家如果还有什么想知道的地方可以去本站的网吧系统栏目去查找,如果找不到相关内容,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!
本文来源:网络整理 作者:佚名