_CRTDBG_MAP_ALLOC 不显示文件名

2023-12-31

我正在尝试检测内存泄漏,并且使用 make _CRTDBG_MAP_ALLOC 宏来定位泄漏区域。所以我定义 MACRO 如下:

#ifdef _DEBUG
    #define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
    #define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
    #define new DEBUG_NEW
#endif

在我的代码中,我有:

UINT SomeFunThread( LPVOID pParam )
{
   _CrtMemState crtMemStateStart;
    _CrtMemState crtMemStateFinish;

    _CrtMemCheckpoint(&crtMemStateStart);


    // My suspisious code


     _CrtMemCheckpoint(&crtMemStateFinish);

      int nDifference(0);
      _CrtMemState crtMemStateDifference;
      nDifference = _CrtMemDifference(&crtMemStateDifference, &crtMemStateStart, &crtMemStateFinish);

    if(nDifference > 0)
        _CrtDumpMemoryLeaks();

    return 0;
}

(感谢 Tushar Jadhav:内存消耗快速增加,然后缓慢下降;内存泄漏? https://stackoverflow.com/questions/19577638/memory-consumption-increases-quickly-then-drops-very-slowly-memory-leak)

但输出显示类似:

Detected memory leaks!
Dumping objects ->
{124058} normal block at 0x0000000031DED080, 24 bytes long.
 Data: < 0      ` $     > C8 30 F7 EF FE 07 00 00 60 D2 24 1D 00 00 00 00 

而不是这样的:

Detected memory leaks!
Dumping objects ->
C:\PROGRAM FILES\VISUAL STUDIO\MyProjects\leaktest\leaktest.cpp(20) : {18} 
normal block at 0x00780E80, 64 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.

那么如何才能显示泄漏的文件名和位置呢?


似乎只有在该 cpp 文件中打开 CRT 时才会显示泄漏行。

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

_CRTDBG_MAP_ALLOC 不显示文件名 的相关文章

  • OpenCV:将垫子除以标量的最简单方法是什么

    我认为标题中已经包含了很多内容 显然我可以迭代和划分 但我认为有一种内置的方法 我看见cvConvertScale但这不适用于类型cv Mat 我知道标量乘法的缩放运算 cv Mat M float alpha cv Mat Result
  • 当操作系统显示语言为非英语时获取本地时区标识符

    奇怪的是 TimeZone CurrentTimeZone StandardName根据计算机显示语言返回本地化名称 我想要一个可以提供给的程序化标识符TimeZoneInfo在下面的代码中 TimeZoneInfo timeZoneInf
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 SqlClient 在传递 SqlXml 时使用不必要的 XML 转换?

    我有一个关于从 C 代码将 xml 数据类型传递给查询的问题 首先 这是 SQL Server 上的一个表 CREATE TABLE dbo XmlTable id int IDENTITY 1 1 NOT NULL dat xml NOT
  • 输出字段值相同的记录

    该主题可能会重复 我在不同的场景下询问这个话题 https stackoverflow com questions 64150691 select records which the values of the field are the
  • 如何使用 iText7 将 .p7s 字节数组插入 PDF 中?

    我正在尝试将 p7s 字节数组信息插入签名字段 我按照下面的图片操作 我的步骤 准备签名容器 原始PDF是 tmp example pdf 这部分的输出是 results prepared pdf PdfSigner signer new
  • 如何有效确保小数值至少有 N 位小数

    我想在进行算术运算之前有效地确保十进制值至少有 N 个位置 在下面的示例中 3 显然我可以格式化 0 000 然后解析 但它的效率相对较低 我正在寻找一种避免与字符串转换的解决方案 我尝试过以下解决方案 decimal d 1 23M d
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • 为什么大多数 STL 实现中的代码如此复杂?

    STL 是 C 世界的重要组成部分 大多数实现都源自 Stepanov 和 Musser 的最初努力 我的问题是考虑到代码的重要性 它是人们出于敬畏和学习目的查看编写良好的 C 示例的主要来源之一 为什么 STL 的各种实现看起来如此令人厌
  • 为什么 C# 不支持类构造函数中的隐式泛型类型?

    如果编译器可以推断出泛型类型参数 C 并不要求您指定它 例如 List
  • 通过单击内部小部件而不是标题栏来移动窗口

    在 Windows 中 当我创建 QMainWindow 时 我可以通过单击标题栏并拖动它来在屏幕上移动它 在我的应用程序中 我使用隐藏了标题栏setWindowFlags Qt CustomizeWindowHint 我正在尝试使用小部件
  • 委托给子组件的模式

    在我正在工作的产品中 非常基本的场景之一是类的序列化 通常 要序列化的类会在其子组件上调用序列化 例如如果有一个类 s t 班级 A B C D 那么A Pack会调用pack B C D 上的函数 由于有很多这样的类 因此必须一遍又一遍地
  • IEnumerable 的随机顺序

    我有一个 IEnumerable 集合如下 var result1 GetResult1 Returns 2 4 5 6 我必须处理元素并以随机方式创建另一个集合 结果应如下 var result2 GetResult2 result1 R
  • 在 JsonConverter 中递归调用 JsonSerializer

    我正在写一个JsonConverter要执行一些我需要在读 写时完成的转换任务 特别是 我采用现有的序列化行为 并在写入 读取时添加一些附加属性 在 的里面JsonConverter 我想利用通过的JsonSerializer实例来执行大部
  • 进度条没有进展

    我有一个正在更新 sqlserver 中的表的程序 我有一个表单 我想显示其进度 进度条正在递增 但没有显示 我需要为此使用后台工作者吗 我正在做什么的例子 public void updateTable string tableName
  • 使用 Boost::Spirit 解析 time_period 表达式

    我需要使用 Boost Spirit 解析以下 EBNF 表达式 period date part time part date part time part time part hours minutes seconds date par
  • std::unique_ptr 是否需要知道 T 的完整定义?

    我的标题中有一些代码 如下所示 include
  • C# 返回一个数的倍数和余数?

    我想找到给定数字的 3 的所有倍数 并找到余数 例如 给定数字 10 3 的倍数 3 6 9 余数 1 给定数字 11 3 的倍数 3 6 9 余数 2 到目前为止我的算法 但不是代码 是这样的 检查 X 是否是 3 的倍数 是 返回倍数
  • C# OpenFileDialog 中的 Stackoverflow/CLR 错误

    下面的代码是我的悲伤示例之一 三个 这是一个简单的 OpenFileDialog 调用 会导致程序崩溃 在 XP 上 如果对话框保持打开状态几秒钟 就会发生崩溃 在 Vista 上 如果用户选择 我的电脑 则会发生崩溃 在VS2008中 调
  • 如何计算最低系统要求?

    对于我用 Visual C 编写的应用程序 Testing 不 真的 这就是全部

随机推荐

  • 如何从 PDF 文件中提取页面? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 Perl 脚本可以从 PDF 文件获取页面并将其转换为另一个 PDF 文件 您要求 Perl 所以这是一个很好的解决方案CAM
  • 什么时候您更愿意声明异常而不是在 Java 中处理异常?

    我知道如果我们希望调用方法处理该异常 则可以为该方法声明异常 如果封闭方法抛出 IOException 这甚至允许我们执行诸如写入 OutputStream 之类的操作 而无需将代码包装在 try catch 块中 我的问题是 任何人都可以
  • 删除样式标签上的样式属性

    我有一个STRING with html内容 我想删除style属性上style使用 javascript 正则表达式标记 如下所示 before
  • YQL 天气结果一半时间为空

    雅虎数据有时无法获取数据 query results is null or not an object 我在 Chrome 55 0 2883 87 和 fierfox 50 1 0 上发生了这种情况 这是我正在使用的 YQL 以及回应 q
  • MongoDB:地理空间索引数组的格式不正确

    在尝试设置使用 MongoDB 上的地理空间索引时 我遇到了错误消息 指出位置数组的格式不正确 这是我的收藏 测试 id ObjectId 4f037ac176d6fdab5b00000a CorporateId XYZ12345 Plac
  • React Native WebView 应用程序在按后退按钮时不退出

    设置按下后退按钮后返回功能后 React Native WebView 应用程序不会在按后退按钮时退出 我希望当 webview 不在主页上时按后退按钮返回功能 当 webview 位于主页上时然后退出应用程序 export default
  • 在Javascript中,如何有条件地更新对象的属性?

    我见过这个帖子 https stackoverflow com questions 11704267 in javascript how to conditionally add a member to an object想知道是否有一种方
  • 更改子类java中的类变量类型

    我有一个名为 模块 的课程 public abstract class Module protected Map
  • 轨道 3 饼干

    我有一个简单的应用程序 用户可以在文本字段中输入内容以获得各种结果 我想要一个功能 如果用户输入某些内容然后关闭浏览器选项卡 那么下次他们来时 我可以向他们显示他们之前 最近的搜索 即使他们关闭整个浏览器并再次打开它 这种情况也会持续存在
  • Python-删除字符串的前两行

    我在这里搜索了许多关于删除字符串前两行的线程 但我似乎无法让它与我尝试过的每个解决方案一起使用 这是我的字符串的样子 version 1 00 6992 4 32063 9 1198 106 59 0 00064 0 99993 0 012
  • Python 快速排序运行时错误:cmp 中超出最大递归深度

    我正在编写一个程序 它将读取包含 5 163 个姓名的文本文件 文本文件可见here http pastebin com BAKTJKy6 然后我想将名称存储到一个名为 名称 的列表中 之后 我根据名称包含的字母数量对列表进行排序 较短的名
  • Java 证书客户端 SSL:无法找到请求目标的有效证书路径

    我们需要客户端身份验证才能向我们的某些 Web 服务发送 RESTful 请求 我已经通过 key 工具在本地 mac 操作系统上安装了客户端证书 pem 和密钥 这些不是自签名的 openssl pkcs12 export name my
  • mysql 统计重复项

    我有一张这样的桌子 mysql gt desc user changes Field Type Null Key Default Extra id varchar 16 NO PRI email varchar 255 YES MUL NU
  • go 中所有类型的前置函数

    我为 go 编写了一个非常小的前置函数 func prepend slice int elms int int newSlice int for elm range elms newSlice append newSlice elm for
  • 有效去除数组中的重复项

    如何从具有以下约束的数组中删除和记录重复项 运行时间最多必须为 O n log n 使用的额外内存最多必须为 O n 结果必须满足以下条件 重复项必须移动到原始数组的末尾 必须保留每个唯一元素第一次出现的顺序 例如 从此输入 int A 2
  • Android 中可扩展列表视图中的图像图标

    我想在可扩展列表视图中添加图像图标 我看过他们仅在子元素中添加的教程 是否有其他方法可以在父元素中添加图像图标 任何帮助 将不胜感激 提前致谢 您还可以在 XML 中定义自己的 groupIndicator 首先定义自己的drawable
  • 如何有效地从向量C++中删除元素

    我有一个由向量 对 V1 V2 组成的向量 称为pairV1V2 其形式如下 1 2 3 938 462 4837 gt V1 V2 3 9 13 938 0472 944 81 84 93 938 84 845 那么我需要保留以下内容 1
  • 如何在 C# 中比较两个 JSON 并忽略某些键?

    我有两个需要比较的 JSON 对象 但是我想排除某些属性 有没有一种有效的方法可以做到这一点 而无需迭代所有键 我正在使用 JSON NET 它具有 JToken DeepEquals 并且非常出色 但它不允许我排除某些键 Thanks 好
  • 如何在qt中通过QSignalMapper传递参数

    我想用Qt制作一个下载器 我在使用 QSignalMapper 时遇到问题 QNetworkReply中有信号 downloadProgress qint64 qint64 我有很多下载任务 所以我使用 QSignalMapper 来处理信
  • _CRTDBG_MAP_ALLOC 不显示文件名

    我正在尝试检测内存泄漏 并且使用 make CRTDBG MAP ALLOC 宏来定位泄漏区域 所以我定义 MACRO 如下 ifdef DEBUG define CRTDBG MAP ALLOC include