问题标签 [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 投票
2 回答
1427 浏览

c - 空程序上的 GCC 内存泄漏?

我刚刚下载了 DrMemory并想检查我的应用程序中的内存泄漏,我发现 DrMemory 在“空程序”上显示内存泄漏!

  1. 这些内存泄漏从何而来?
  2. 其次,初学者经常做错什么导致 DrMemory 抱怨未初始化访问的例子是什么?

请注意,我对 C 和所有本地内容相对较新,所以我不明白 DrMemory 在这里告诉我的大部分内容。

0 投票
1 回答
2540 浏览

memory - 如何在linux中安装和使用dr内存泄漏工具?

我想在我的 linux 环境中安装 dr 内存泄漏工具并在我的进程上运行泄漏工具,有人可以帮助我安装指南以及如何执行该工具。

0 投票
2 回答
851 浏览

c - 为什么我的程序只能在调试器中运行?

我正在使用 Dr. Memory 对我今天写的一个 C 程序进行内存调试。使用 MinGW 的 gcc 编译的这个程序只有在我从调试器 gdb 运行它时才有效,所以我假设它是内存错误。内存博士返回给我的 results.txt 文件类似于:

我不知道如何阅读这篇文章,也不知道从哪里开始尝试修复我的程序。这些错误消息是什么意思,我该如何解决?

编辑:这是我的代码:

这是输入文件gift1.in:

0 投票
1 回答
76 浏览

linux - 在 Valgrind/DrMemory 中记录程序状态然后恢复它是否可行?

我有一个在启动时加载大量数据的程序。这会占用相当长的时间,因此在运行Valgrind( memcheck) / DrMemory时会产生开销。所以当用不同的参数多次调用程序时,会占用相当多的时间

我的想法是fork()在数据加载阶段之后立即使用,然后将孩子交给 Valgrind/DrMemory。即使加载阶段在 Valgrind/DrMemory 下运行,开销也只会发生一次,并且所有forked 子进程应该能够从那里使用预加载的数据。

记录程序状态并将其声明为未污染,然后在 Valgrind ( memcheck) 或 DrMemory 中恢复该状态是否可行?

注意:我只对 unixoid 平台感兴趣,将其限制在 Linux 上也可以。

0 投票
1 回答
1078 浏览

c++ - Dr.Memory 发现错误:不知道如何解决

对于博士发现的此类错误,我能做些什么吗?记忆?

代码看起来像这样(为方便起见添加了行):

编译器是 VisualStudio 2008 sp1,语言原生 c++。当然,在将 .rdbuf()->str() 更改为简单的 .str() 之后 - 没有任何改变,错误仍然存​​在。

0 投票
1 回答
485 浏览

c++ - C++ 标准::向量使用 drmemory 给出未初始化的读取错误

我在我的项目中使用 stl 容器,我发现了一个我无法解释的奇怪错误。让我们考虑以下代码:

这会按预期输出 0,但是如果我使用 drmemory 运行内存检查,它会发现未初始化的读取。任何人都可以帮助理解这种行为吗?

平台:win32;编译器:mingw32 - gcc 4.7.2;Drmemory 1.6.0 - 构建 2

0 投票
1 回答
1666 浏览

visual-studio - 记忆博士集成到视觉工作室 201x

对于一个简单的程序如下:

我收到以下错误。

我已经在三台不同的 PC 上对其进行了测试,并且可以在所有 PC 中重现该问题。

我怀疑问题可能出在管理内存(?)的 ntdll.dll 上。感谢您提供解决问题的任何帮助/指示。

-Satish

0 投票
1 回答
1034 浏览

c++ - 在 MinGW 上调试内存损坏

我在一个相当大的项目中遇到了一些内存损坏问题,以控制一些科学硬件(约 6000 行),我不确定哪个是解决问题的最佳方法/工具。该项目使用 Qt 4.8,并使用 QtCreator 和 MinGW 构建。该程序或多或少地工作,但我遇到了一些稳定性问题。有时我会随机崩溃,但在某些情况下,当我稍微更改源代码时,程序会在完全相同的位置崩溃(以前工作过的位置)。这次它选择的位置是这样的:

当我在 gdb 中运行它时,第二行给出了分段错误 (SIGSEGV) - 这告诉我程序的内存存在某种问题,因为我确定这两行是正确的。此外,“崩溃站点”会根据确切的源代码而变化;我什至在 Qt 使用的 Windows DLL 中看到过崩溃。

我已经研究了一些选项来找到问题的原因,但我遇到了一些困难:

  • 我已经下载了 DUMA,但无法在 MinGW 上编译它——我必须更改包含命令才能创建库,但现在其中一个测试程序失败了。(任何提示或二进制文件的链接,有人吗?)
  • 我也尝试过应用程序验证程序,但是当我运行它时,它总是停在同一个位置,我正在使用的第 3 方 DLL 正在泄漏句柄。我有理由确定这不是我的问题的原因,但我无法继续调试过程,因为 gdb 总是回到相同的位置(它只会在我使用应用程序验证程序时卡在那里)。
  • 最后,我用 Dr. Memory 运行了我的程序,但它在到达主窗口之前就崩溃了,没有给我任何有用的输出(我唯一看到的是 Qt 显然在浪费一些内存)。

对于最终摆脱此错误的最有希望的方法,我将不胜感激。

0 投票
1 回答
1328 浏览

c - 指前一个 malloc 中最后一个有效字节之外的 0 个字节

我似乎无意中覆盖了我的 C 程序中的某些部分内存。为了解决这个问题,我真诚地下载了 DrMemory,它会抛出一个错误,通知我发生这种讨厌的行。
我遇到的第一个错误是这个:

根据文档,这意味着我试图访问我首先分配的最后一个内存字节。怎么错了?

触发错误的函数:

0 投票
0 回答
512 浏览

dr-memory - 找不到文件日志文件

Dr-Memory 不会调试我的应用程序,我已经尝试了该-logdir选项(我使用-logdir C:\Users\r0b3\temp\drmemory)。

错误消息是

有什么提示吗?