memwatch的使用(二)

简介:





本文转自 xkdcc 51CTO博客,原文链接:http://blog.51cto.com/brantc/118221,如需转载请自行联系原作者2.3分析日志文件
日志文件memwatch.log中包含的信息主要有以下几点:
*    测试日期
*    状态搜集器的信息
*    使用MemWatch的输出函数或宏(如TRACE等)的信息。
*    MemWatch捕获的错误信息
*    内存使用的全局信息统计,包括四点:
1)分配了多少次内存 
2
)最大内存使用量
3)分配的内存总量 
4
)为释放的内存总数
MemWatch捕获的错误记录在日志文件中的输出格式如下:
message: <sequence-number> filename(linenumber), information
 
2.4 注意事项
mwInit()mwTerm()是对应的.所以使用了多少次mwInit(),就需要调用多少次
mwTerm()用于终止MemWatch.
 
如果在流程中捕获了程序的异常中断,那么需要调用mwAbort()而不是
mwTerm()。即使有显示的调用mwTerm()mwAbort()也将终止MemWatch
 
MemWatch不能确保是线程安全的。如果你碰巧使用Wind32或者你使用了线程,作为2.66,是初步支持线程的。定义WIN32或者MW_PTHREADS以明确支持线程。这会导致一个全局互斥变量产生,同时当访问全局内存链时,MemWatch会锁定互斥变量,但这远不能证明是线程安全的。
 

结论

     MemWatch的使用可以得知,无法用于内核模块。因为MemWatch自身就使用了应用层的接口,而不是内核接口。但是,对于普通的应用层程序,我认为还是比较有用,并且是开源的,可以自己修改代码实现;它能方便地查找内存泄漏,特别是提供的接口函数简单易懂,学习掌握很容易,对应用层程序的单元测试会较适用。
目录
相关文章
|
3月前
|
存储 人工智能 前端开发
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析了17种AI智能体设计模式,涵盖反思、工具调用、多智能体协作、思维树、规划执行、集成决策等核心架构,结合LangGraph实现与代码演示,揭示如何通过模式组合构建高效、可靠的大规模AI系统。
546 2
|
6月前
|
JSON 供应链 API
1688 买家订单,订单物流,订单回传接口系列(1688 寻源通 API)
1688寻源通API为开发者提供买家订单、订单物流及订单回传三大接口,助力企业实现订单管理、物流跟踪与信息反馈的自动化。买家订单接口可查询订单详情;订单物流接口支持实时跟踪物流状态;订单回传接口确保企业系统与平台数据同步。结合Python示例代码,企业可轻松集成这些功能,优化内部管理、提升客户体验并支持数据驱动决策。适用于电商订单管理、物流服务和数据分析等场景。
|
10月前
|
Web App开发 人工智能
UC伯克利:给大模型测MBTI,Llama更敢说但GPT-4像理工男
UC伯克利研究团队推出VibeCheck系统,自动比较大型语言模型(LLM)的输出特征,如语调、格式和写作风格。该系统通过迭代挖掘特征并利用LLM法官量化其实用性,验证结果显示其能有效捕捉模型的独特“vibes”。VibeCheck应用于对话、摘要、数学和字幕生成等任务,揭示了不同模型的行为差异,并在预测模型身份和用户偏好方面表现出色。尽管存在主观性和测试范围有限的局限性,VibeCheck为改进LLM评估提供了新视角。论文地址:https://arxiv.org/abs/2410.12851
279 98
|
存储 算法
halcon模板匹配实践(1)算子参数说明与算子简介
halcon模板匹配实践(1)算子参数说明与算子简介
1146 0
|
人工智能 搜索推荐 算法
适合孩子的AI学习工具
【2月更文挑战第16天】适合孩子的AI学习工具
1084 2
适合孩子的AI学习工具
|
算法
出现线程死锁缺陷一般有那些原因?该怎么解决?
出现线程死锁缺陷一般有那些原因?该怎么解决?
202 1
|
中间件 测试技术 调度
利用率夹紧(Utilization Clamping) 【ChatGPT】
利用率夹紧(Utilization Clamping) 【ChatGPT】
|
程序员 Python
利用Python实现科学式占卜
一直以来,中式占卜都是基于算命先生手工实现,程序繁琐(往往需要沐浴、计算天时、静心等等流程)。准备工作复杂(通常需要铜钱等道具),计算方法复杂,需要纯手工计算二进制并转换为最终的卦象,为了解决这个问题,笔者基于python实现了一套科学算命工具,用于快速进行占卜。 本文的算命方式采用八卦 + 周易+ 梅花易数实现,脚本基于python3.9.0开发。本人对于周易五行研究较浅,如有疏漏请见谅。 最终效果如图,在运行程序之后,会根据当前的运势自动获取你心中所想之事的卦象(本卦、互卦、变卦) 前置知识 基础原理 首先我们需要了解一些最基本的占卜知识,目前我国几种比较主流的占卜方式基本都是基
257 0
|
Linux Docker 容器
CentOS7 安装Docker,并设置Docker国内镜像源解决Docker访问速度慢的问题
CentOS7 安装Docker,并设置Docker国内镜像源解决Docker访问速度慢的问题
2911 1
CentOS7 安装Docker,并设置Docker国内镜像源解决Docker访问速度慢的问题
双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)
双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)
双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)