问题标签 [memory-leak-detector]

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 投票
1 回答
2239 浏览

c - Cygwin 中的内存泄漏检测工具

我正在寻找 cygwin 中的内存泄漏检测工具。对于 cygwin 中的 C 应用程序来说,最好的内存泄漏检测工具是什么?

0 投票
3 回答
5601 浏览

c++ - 如何使用 Valgrind 在运行时检查实际内存泄漏?

在某些程序中,一些分配的内存根本不会被破坏,但它们是程序整个运行时间所必需的。因此,通常被认为是安全的。

但是还有其他一些对象并不打算用于程序的整个运行时间,但不会由于开发人员的失误而被破坏。这些是应该解决的实际内存泄漏。

当我们运行以下 Valgrind 命令时,它只显示程序执行结束后的总泄漏量。因此,有人可以澄清如何将上述两种情况与 Valgrind 泄漏检查输出区分开来。

我用来检测内存泄漏的命令;

执行结束时的典型输出;

Valgrind 中是否有类似 IBM Purify 工具中的 Tap 的功能,可以在运行时检测当前泄漏的内存?

0 投票
2 回答
13721 浏览

c++ - 将 valgrind 与守护进程连接并收集每个守护进程调用的日志

我有一个客户端服务器系统,完全用 C++ 编写。服务器运行/etc/init.d/serverd与启动/停止选项一样。Client.exe执行任何命令作为client.exe --options. 每次客户端调用,守护程序都会命中。我想附上valgrind/etc/init.d/serverd检测泄漏。我尝试了以下选项但失败了。

每次它都无法附加守护进程。

我们想要的是在启动时valgrind附加守护进程,以便每次执行时都应该为守护进程生成日志 [ the exact point is , I will stop daemon , attach valgrind with it and then start it again ]client.exe --options--log-file=valgrind_1.log

有谁知道如何做同样的事情?

0 投票
1 回答
559 浏览

c++ - 通过重载新运算符在 MFC C++ 应用程序中查找内存泄漏

我有一个 MFC 应用程序。我想跟踪每个动态内存分配(在堆上),以便能够找出该应用程序中内存泄漏的来源。IDE 是 Visual Studio 2010。

我做了以下事情:

  • 引入了一个名为“MEMORY_LEAK_FINDER”的预处理器指令。
  • 添加了一个名为“CMemLeakHunter”的类,您可以在下面找到这些文件的确切内容。
  • 这个想法是重载每个新的操作符(全部 3 个:new、new[] 和 CObject::new)并使用它们来跟踪分配内存的位置(文件、行)。在执行结束时,我想使用“CMemoryState”类将内存泄漏的位置带到输出,因此我最终可以将分配的跟踪与 CMemoryState 的比较(差异)跟踪进行比较。

问题是,应用程序编译(在 VS 2010 调试模式下),但出现以下链接器错误:

错误 4 错误 LNK2005: "void * __cdecl operator new[](unsigned int,char const *,int)" (??_U@YAPAXIPBDH@Z) 已在 CMemLeakHunter.obj E:\Software\Nafxcwd.lib(afxmem. obj) 错误 3 错误 LNK2005: "void * __cdecl operator new(unsigned int,char const *,int)" (??2@YAPAXIPBDH@Z) 已在 CMemLeakHunter.obj E:\Software\Nafxcwd.lib(afxmem. obj) 错误 5 错误 LNK2005: "public: static void * __stdcall CObject::operator new(unsigned int,char const *,int)" (??2CObject@@SGPAXIPBDH@Z) 已在 CMemLeakHunter.obj E:\Software 中定义\Nafxcwd.lib(afxmem.obj) 错误 6 错误 LNK1169: 找到一个或多个多重定义符号 E:\Software\Module1.exe 1

我用谷歌搜索发现,忽略库Nafxcwd.lib可能会解决问题。在我的应用程序中,我尝试了,但忽略了该库,另一个 17000 链接器错误(未解决的外部)。

其他依赖项是:Nafxcwd.lib;Ws2_32.lib;Version.lib

忽略特定的默认库是:msvcprtd.lib;libcimtd.lib;libcmt.lib

我不能那么容易地拆分软件,因此我寻求帮助:如果我使用 MFC 并且我需要使用上面提到的 .lib 文件,我如何跟踪我自己的应用程序完成的内存分配?有什么解决办法?请帮助我解决此问题,以便能够跟踪内存分配以找出泄漏的可能来源。如果他们能够做到这一点,我也愿意使用另一个 MFC 内置例程。但是,我自己没有发现任何有用的东西。

头文件CMemLeakHunter.hpp的写法如下:

源文件CMemLeakHunter.cpp的写法如下:

0 投票
2 回答
160 浏览

ios - Nvwa 泄漏检测库在 iOS 上崩溃

Nvwa 在其删除运算符覆盖中的免费调用上崩溃,尤其是在模拟器上,出现错误:
malloc: *** error for object [hexadecimal address]: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

0 投票
1 回答
1518 浏览

java - 由于 DefaultListableBeanFactory 对象导致 jboss 服务中的内存泄漏

在我的 jboss 服务中,我遇到了内存泄漏。我检查了堆转储,我看到堆的主要部分被 DefaultListableBeanFactory 和 ConcurrentHashMap 占用。

我已经遇到过这个问题, https://jira.spring.io/browse/SPR-9842

我的问题也一样,但我使用的是 spring(spring-beans) 版本 3.1.1.RELEASE。如果这实际上是弹簧的问题还是我的代码有问题,有人可以帮忙吗?另外,如果是弹簧的问题,有什么解决办法?

谢谢

0 投票
1 回答
2978 浏览

java - 使用 GCViewer 进行 GC 转储分析

我正在使用 GCviewer 分析我的 gc 日志。我无法获得更好的教程来理解 GCviewer 选项。请向我解释以下选项并与我分享 GCViewer 教程。

我在 GCViewer 的内存选项卡中找到了下面提到的选项

0 投票
1 回答
5896 浏览

c - 如何使用 Clang 查找内存泄漏

我已经在我的机器(ubuntu)中安装了 Clang,以便在我的 C 代码中找到内存泄漏。我写了一个示例代码来检查它的工作情况,如下所示:

我在互联网上找到了一些编译选项

但是它们都没有显示出任何内存泄漏的迹象。

scan-build:使用“/usr/bin/clang”进行静态分析
scan-build:删除目录“/tmp/scan-build-2015-07-02-122717-16928-1”,因为它不包含任何报告。
扫描构建:没有发现错误。

谁能告诉如何正确使用 Clang 进行内存泄漏检测。

0 投票
3 回答
25936 浏览

g++ - GCC 和 -fsanitize=leak

我正在开发一个大型 C++ 项目,用 clang 编译它会很痛苦,所以我坚持使用 GCC。

我想使用在-fsanitize=leak以前的工作中已经与 clang 一起使用的 nice 标志,但它似乎不起作用。

我做了一个非常简单的例子来测试它:

使用 clang 它可以按预期工作:

但是使用 gcc 它似乎没有检测到任何东西:

我错过了一个不错的环境变量吗?有人让它与 gcc 一起工作吗?

编辑:这适用于例如:

但我不能那样做:性能缺点太多了。我只想要泄漏检测。

0 投票
3 回答
15891 浏览

java - 文件描述符泄漏示例?

有没有什么好的例子可以证明 Android 中的文件描述符泄漏?例如,我在某处读到,如果我们不关闭流,FileInputStream或者FileOutputStream我找不到任何好的参考示例来演示它,就会发生这种情况。

请分享一些博客/代码片段。谢谢你!