74得票3回答
PRE-2016年Valgrind:使用<iostream>的简单程序仍然可访问内存

编辑:我已经投票关闭此问题,因为它现在不正确。在2016年3月,Valgrind 增加了一个选项“--run-cxx-freeres = &lt;yes | no&gt;”(默认为 yes)。这将调用一个 libstdc++ 函数来释放用于像 iostream 这样的一次性分配。如果您正在使用...

74得票2回答
如何在Python中使用Valgrind?

我正在尝试对我编写的C Python扩展进行内存检查,但我在设置valgrind与Python一起工作时遇到了问题。我真的需要一些建议。仅供参考,这是Ubuntu 13.10,python 2.7.5+和valgrind 3.8.1。 按照Readme.valgrind的建议,我做了以下事情...

69得票7回答
Valgrind不显示行号,尽管使用了-g标志(在Ubuntu 11.10 / VirtualBox上)

我正在跟随《用最笨的方法学C语言》,具体地说是关于Valgrind的章节。这一章提供了一个故意写错的程序,以展示Valgrind的工作原理。 当我在Valgrind下运行练习时,我的堆栈跟踪中没有行号,只有“(below main)”表示错误。 我肯定使用-g标志进行编译。 我的Valgrin...

68得票9回答
使用Visual Studio在C++应用程序中查找内存泄漏问题

在Linux中,我一直使用valgrind来检查应用程序是否存在内存泄漏。在Windows中有没有类似的工具?能否通过Visual Studio 2010实现这一功能?

67得票11回答
如何使用Homebrew在macOS Mojave(10.14)上安装Valgrind?

我尝试使用brew install Valgrind安装Valgrind,但出现了以下错误:valgrind: This formula either does not compile or function as expected on macOS versions newer than S...

65得票3回答
Valgrind是否可以忽略某些库?

或者更好的方式是全部加入,而不仅仅只是我的代码?我的程序使用Gtk、Loudmouth和其他一些东西,这两个(以及它们背后的一些东西,如libgcrypto、libssl)本身就会导致很多错误,使我无法检测到自己的错误。是否可能使valgrind忽略来自于比我自己的代码更深层的东西?

62得票4回答
如何在Linux中使用addr2line命令?

我正在尝试在Unix中使用addr2line命令,但每次输出都是??:0。我使用的命令是addr2line -e a.out 0x4005BDC。我在运行这个a.out可执行文件时使用了valgrind工具来查找内存泄漏时得到了这个地址。我还使用了-g选项编译源代码。

60得票4回答
寻找Ruby内存泄漏的原因

我在我的Rails代码中发现了一个内存泄漏 - 也就是说,我找到了哪段代码泄漏了,但不知道它为什么会泄漏。我已经简化了它,变成了一个不需要Rails的测试用例:require 'csspool' require 'ruby-mass' def report puts 'Memory ...

60得票5回答
Valgrind报告一个段溢出错误

当我使用valgrind / callgrind运行我的程序时,经常会收到以下信息: ==21734== 线程#1中的brk段溢出:无法增长到0x4a39000 (地址不同) 请注意,在此之前没有堆栈溢出消息。 我找不到任何关于这个消息的文档,并且我不知道到底溢出了什么。 有人能帮我弄清楚问题...

58得票5回答
为什么这个程序会出现内存泄漏,如何在使用malloc和free来处理包含std :: string对象的情况下解决它?

这是一个最小化的工作示例,用于展示我在实际代码中遇到的问题。 #include &lt;iostream&gt; namespace Test1 { static const std::string MSG1="Something really big message"; } s...