问题标签 [dr-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
908 浏览

c++ - 如何调试 drmemory 的无效堆参数错误

我刚刚在我的应用程序中遇到了 drmemory 错误,输出如下:

我完全不知道从哪里开始寻找我的错误。有人有什么想法吗?(我运行的应用程序很复杂,所以我不能在这里发布数千行。)

0 投票
0 回答
1175 浏览

c++11 - 函数 async 在 Windows 上泄漏内存

在我的一个应用程序中,当我开始使用 std::async 时,我引入了内存泄漏。在使用 Dr. memory 工具检查问题后,我发现 std::async 经常泄漏内存。

我做了一个重现问题的快速测试:

上面的代码怎么可能在 Windows 上泄漏内存?Linux 上不会出现该问题。Dr. memory 会产生以下日志:

0 投票
0 回答
536 浏览

c - Dr.Memory 在 SDL 程序上使用时崩溃

我正在开发一个 SDL 1.2 项目(Windows、C、Code::Blocks,也使用 sdl_tff 库)。我正在尝试使用 Dr.Memory 检查内存泄漏,但我遇到的问题是它在启动时崩溃(下面提供的日志),

exe 本身会自行崩溃,一旦我将我使用的 tff 文件添加到其目录中,它就可以自行运行良好。

这两个文件在哪里并不重要,只要它们都在同一个目录中,exe运行良好。

如何让 Dr.Memory 正确执行?

0 投票
1 回答
970 浏览

pointers - glVertexAttribPointer 最后一个属性值或指针

glVertexAttribPointer 的最后一个属性是 const GLvoid* 类型。但它真的是一个指针吗?它实际上是一个偏移量。如果我输入 0,则表示偏移量为 0,而不是指向偏移量的空指针。在我的引擎中,我使用这个功能:

getVertexAttribStart 返回一个 intptr_t。当我运行 drmemory 时,它显示“未初始化读取”,我想删除该警告。此警告来自 reinterpret_cast。我不能 static_cast 到 const void* 因为我的值不是指针。我应该怎么做才能解决这个警告?

0 投票
0 回答
108 浏览

windows - 这个调用堆栈有什么意义吗?

在使用 openssl 的应用程序上运行 dr.memory 时,我得到以下列表:

现在,这有一些奇怪的事情:

  • SSL_load_error_strings不接受任何论据。我看不出它是如何出现内存错误的,因为 openSSL 是一个广泛使用的库(当然,除非我的进程由于堆损坏或其他原因已经死亡)
  • 为什么会SSL_load_error_strings打电话ERR_unload_strings?我快速查看了源代码,但似乎没有,尽管我猜某处可能会发生一些内联,使其难以发现。
  • 为什么会wcsnlen打电话_crtFlsGetValue?我无法想象它需要光纤本地存储(而且我看不出它会如何,因为无论如何我都没有使用光纤......)

基本上,我的问题是,我可以完全信任 dr.memory 生成的调用堆栈吗?

0 投票
1 回答
3284 浏览

c++ - 记忆博士和神秘的未初始化读物

下面的代码没有做任何有趣的事情,但神秘的是为什么 Dr Memory 会认为有一个单元化读取?有任何想法吗?

编辑:这是完整的错误详细信息。

0 投票
0 回答
200 浏览

debugging - 记忆博士相当于 valgrind 的“轨道起源”是什么?

在 valgrind 中,我打开--track-origins以找出未初始化值的来源。

在 Windows 上,我使用的是 Dr. Memory,因为据我所知,valgrind 还没有被移植。它报告未初始化的读取,但查看手册我似乎没有找到一个选项,让它找出未初始化值的来源。但它告诉我哪个内存范围有问题。

  • 那么有没有人知道一个可以跟踪起源的选项(我忽略了)?
  • 如果没有这样的选项,那么有问题的内存范围是否可以找出谁分配了它?
0 投票
0 回答
88 浏览

c - Dr Memory Unitialized Read Error 不同意 Dissasembly

我有一个简单的循环,其目的是将一行(非常简单的)csv 分成列。for循环的相关部分如下:

Dr Memory 报告以下未初始化的读取:

现在为了诊断发生了什么,查看了该行代码的反汇编:

00D4A413寄存器EAX有一个值EAX = 0000006E。这是'n'

据我所知eax,在这种情况下是用一个值初始化的'n'。我竭尽全力试图找出导致此错误的原因,非常感谢任何帮助!

0 投票
0 回答
579 浏览

c++ - 简单的类默认构造函数中的内存泄漏

故事是我有几个SEGFAULTs - 所以我用 Dr. Memory 测试了我的程序,并收到了大量涉及以下类的默认构造函数的内存泄漏消息:

它有什么问题?!

来自 Dr.Memory 总结的样本:
首先出现这样的警告:

然后泄漏消息:

UPD:结构体的使用

1)作为返回值

2) 作为 const 引用方法参数

3) 作为函数返回值的存储

0 投票
0 回答
1028 浏览

c++ - 尝试分析任何 C++ 程序时 Dr.Memory 崩溃

我最近安装了 Windows 10,并安装了带有更新 1 的 VS2015 社区版(确切版本是 14.0.24720.00)。

安装Dr.Memory工具后,我尝试在我的程序之一中使用它,但它崩溃了。

我写了一个新项目(Win32 控制台应用程序,空项目,没有 sdl),它带有一个简单的程序,文学什么都不做:

它以相同的症状崩溃: