内存泄漏单元测试C++

2023-11-24

我刚刚解决了应用程序中的内存泄漏问题,现在我想编写一个单元测试以确保这种情况不会再次发生。

我正在寻找一种方法来检测当前应用程序(工作集)在某些功能之前和之后的内存使用情况。

例如:

long mem_used= GetMemUsed(); 
/* Do some work */
/* clean up */

if( mem_used != GetMemUsed() ) {
    Error( "Memory leek" ); 
}

我发现了很多方法来检测整个系统的内存使用情况,但没有一种方法仅适用于当前应用程序。

建议、链接、代码片段?


升压测试如果您的任何单元测试泄漏了内存,它将在测试运行结束时自动告诉您。

我不知道其他 C++ 单元测试框架是否提供这种功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内存泄漏单元测试C++ 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何模拟从抽象类继承的受保护子类方法?

    如何使用 Mockito 或 PowerMock 模拟由子类实现但从抽象超类继承的受保护方法 换句话说 我想在模拟 doSomethingElse 的同时测试 doSomething 方法 抽象超类 public abstract clas
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 可以防止 403 错误记录到 Web 控制台吗?

    我有一些 js html css 在某些情况下会在加载图像时遇到无害的 403 错误 有什么方法可以捕获这些错误并防止它们将错误记录到控制台吗 Thanks 没有 如果服务器响应 200 以外的任何内容 您将在控制台中看到它 您需要在服务器
  • hdfs(namenode)中使用的名称空间和元数据的含义是什么

    作为 hadoop 的初学者 我对命名空间和元数据这两个词感到困惑 这两者之间有什么关系吗 根据 Hadoop 权威指南 NameNode 管理文件系统名称空间 它维护文件系统树以及树中所有文件和目录的元数据 本质上 命名空间意味着一个容器
  • 对于大n,如何计算2^n?

    我正在尝试编写一个需要数字的程序 n 作为输入 并输出 2 次方的结果n 问题是 n可以非常大 最多 100 000 本质上 我正在尝试计算pow 2 n 对于非常大的数字 我认为做到这一点的方法是将数字存储在数组中 因为没有内置的数字类型
  • 如何使用 Google Drive API 上传 FILE_URI:插入文件

    在 Android 上 我尝试使用 Google Drive API 插入文件上传 Cordova Phonegap getPicture 的输出 有没有办法使用 FILE URI 而不是 DATA URL base64 来做到这一点 我首
  • 导入 .TLB 文件给出“无法打开源文件 x.tlh”

    我正在将 VS2010 C 项目更新到 VS2019 该项目正在导入多个 tlb 文件 对于每个文件 VS2019 都会给出一个错误 指出 无法打开 tlh 文件的源文件 其中一个来自我也升级过的 DLL 用 C 编写 在 VS2019 中
  • 如何在 ASP.NET 网站项目中使用最新的 VB.NET 语言级别?

    我的任务是对 2009 年开发的 Web 应用程序进行现代化改造 它是用 VB NET 编写的 并使用 ASP NET WebForms 我想使用 VB NET 中最新的语言结构 我得到有用的指示 说 Visual Basic 10 0 不
  • 未捕获的类型错误:对象 [object DOMWindow] 的属性“$”不是函数

    我得到一个 未捕获的类型错误 对象 object DOMWindow 的属性 不是函数我的脚本在 Chrome 中出错
  • “this”关键字如何工作以及何时使用?

    我正在寻找关于 this 关键字的作用以及如何正确使用它的清晰解释 它的行为似乎很奇怪 我不完全明白为什么 如何this工作以及什么时候应该使用它 this是 JavaScript 中的关键字 是执行上下文的属性 它的主要用途是在函数和构造
  • Zend 动作助手

    我正在学习如何使用 Zend 框架 并意识到操作助手是有用的 我已经在我的机器上设置了 Zend 的默认安装 但我不知道帮助程序文件需要放在哪里 我需要在引导程序文件中放入什么以及如何使用它 谁能给我指出正确的方向吗 ZF 用户指南对我来说
  • C# 字符串到十六进制、十六进制到字节的转换

    我有一个方法 它采用十六进制值并将其分配为纯文本 但字节类型是这样的 byte plainText 0xd7 我想从文本框中获取这个值 例如用户将在文本框中键入 d7 我将像这样分配它 byte plaintText 0xd7 我无法做到这
  • 我应该使用我的应用程序重新分发 msvcrt.dll 吗?

    如果应用程序的某些库动态依赖于 msvcrt dll 我是否应该将 msvcrt dll 与我的应用程序一起重新分发并使用私有 dll IE 系统的msvcrt dll dll hell 是否可能存在不兼容问题 应用程序针对 Windows
  • 如何实现顶层异常处理?

    最近 我必须为同事开发的现有服务开发一个附加模块 他在主工作函数中放置了一个 try catch 块 用于捕获所有冒泡到此级别的未处理异常 并将它们与堆栈跟踪信息等记录在一起 try do main work catch Exception
  • PyCUDA:设备代码中的 Pow 尝试使用 std::pow,失败

    问题或多或少说明了一切 calling a host function std pow
  • ValueError:找到具有 0 个样本的数组(形状= (0, 1),而 MinMaxScaler 要求最小值为 1

    我是机器学习的初学者 我正在帮助我的数学专业朋友基于 TensorFlow 创建一个股票预测器 csv他提供的文件 我有一些问题 第一个是他的 csv文件 该文件只有日期和结束值 它们没有分开 因此我必须手动分隔日期和值 我已经成功做到了这
  • ArrayList 的不安全或未经检查的操作

    我被指派编写一个程序 获取 100 个 0 25 之间的随机整数并将它们存储在一个数组中 然后我必须调用两种方法来分割偶数和赔率 非常典型 所以我尝试了 ArrayList 的东西 我刚刚学会它 它看起来很好 我正在关注教程和在线的东西 直
  • hibernate oracle 标识符太长 ORA-00972

    我被这个问题困扰了 数据库架构是由其他人提供的 因此我不能简单地更改名称 我尝试在各处添加正确的注释 也许我遗漏了一些东西 明显的 这是我的完整映射 相当多的类 我将提交 getter setter 问题是当休眠试图获取所有List
  • Android Service.startForeground 不尊重通知 ID 的唯一性

    Service startForeground vs 通知管理器 notify 给出不同的行为 使用时notify使用两个不同的通知 ID 创建 2 个通知 Good 当做同样的事情时启动前台 一个通知会覆盖另一个通知 Bad 测试设备 N
  • 用于纯 Firebase JavaScript API 的 orderby 对象过滤器

    I found angularFire当与纯 Firebase JavaScript API 结合使用时 总是让我感到困惑 假设我不知道如何调用 Firebase datasapshot APIss name ss hasChild ss
  • 在python中获取函数调用者的信息

    我想获取有关 python 中特定函数的调用者的信息 例如 class SomeClass def init self x self x x def caller self return special func self x def sp
  • 内存泄漏单元测试C++

    我刚刚解决了应用程序中的内存泄漏问题 现在我想编写一个单元测试以确保这种情况不会再次发生 我正在寻找一种方法来检测当前应用程序 工作集 在某些功能之前和之后的内存使用情况 例如 long mem used GetMemUsed Do som