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自身就使用了应用层的接口,而不是内核接口。但是,对于普通的应用层程序,我认为还是比较有用,并且是开源的,可以自己修改代码实现;它能方便地查找内存泄漏,特别是提供的接口函数简单易懂,学习掌握很容易,对应用层程序的单元测试会较适用。
目录
相关文章
|
5天前
|
存储 人工智能 前端开发
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析了17种AI智能体设计模式,涵盖反思、工具调用、多智能体协作、思维树、规划执行、集成决策等核心架构,结合LangGraph实现与代码演示,揭示如何通过模式组合构建高效、可靠的大规模AI系统。
144 2
|
传感器 编解码 监控
微型打印机控制电路的设计(1)
微型打印机控制电路的设计(1)
674 0
微型打印机控制电路的设计(1)
|
算法 数据挖掘 开发者
数据约简| 学习笔记
快速学习数据约简。
数据约简| 学习笔记
|
6月前
|
人工智能 算法 网络安全
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
|
8月前
|
Web App开发 人工智能
UC伯克利:给大模型测MBTI,Llama更敢说但GPT-4像理工男
UC伯克利研究团队推出VibeCheck系统,自动比较大型语言模型(LLM)的输出特征,如语调、格式和写作风格。该系统通过迭代挖掘特征并利用LLM法官量化其实用性,验证结果显示其能有效捕捉模型的独特“vibes”。VibeCheck应用于对话、摘要、数学和字幕生成等任务,揭示了不同模型的行为差异,并在预测模型身份和用户偏好方面表现出色。尽管存在主观性和测试范围有限的局限性,VibeCheck为改进LLM评估提供了新视角。论文地址:https://arxiv.org/abs/2410.12851
204 98
|
IDE 编译器 程序员
Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
932 0
Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
Landsat系列卫星WRS条带号Path Row分布介绍与对照图
Landsat系列卫星WRS条带号Path Row分布介绍与对照图
366 1
|
程序员 Python
利用Python实现科学式占卜
一直以来,中式占卜都是基于算命先生手工实现,程序繁琐(往往需要沐浴、计算天时、静心等等流程)。准备工作复杂(通常需要铜钱等道具),计算方法复杂,需要纯手工计算二进制并转换为最终的卦象,为了解决这个问题,笔者基于python实现了一套科学算命工具,用于快速进行占卜。 本文的算命方式采用八卦 + 周易+ 梅花易数实现,脚本基于python3.9.0开发。本人对于周易五行研究较浅,如有疏漏请见谅。 最终效果如图,在运行程序之后,会根据当前的运势自动获取你心中所想之事的卦象(本卦、互卦、变卦) 前置知识 基础原理 首先我们需要了解一些最基本的占卜知识,目前我国几种比较主流的占卜方式基本都是基
206 0
|
开发者 Docker 容器
hello world 镜像|学习笔记
快速学习 hello world 镜像
hello world 镜像|学习笔记
|
移动开发 数据可视化 前端开发
低代码引擎核心技术,可视化动作——OneCode技术实践
低代码平台最大的一个技术特点便是开发图形化、可视化,通过拖拉拽方式快速实现企业数字化转型中的创新应用。在实践中通过图形化技术确实在一些特定领域大幅降低了应用开发的准入门槛,使得非专业人员也可以快速的参与到企业的数字化转型中。但随着业务的深入个性化需求也进一步增多,多数的低代码平台都无法满足相关的逻辑,这时仍然需要专业的程序员通过代码的方式来扩展。 但这些业务逻辑的代码繁琐且无用,只能让程序员在做低水平的重复工作。有痛点就会有需求,一些低代码平台推出了可视化逻辑编排能力,能够很好地解决这个问题。本文将结合OneCode平台的可视化逻辑编排设计来进行分析,希望对你有帮助。