memory-leaks相关内容

用户泄漏,libc ++泄露或假阳性

我正在使用clang编译器和libc ++标准库在C ++ 11中构建一个动态库。当我运行valgrind在我的测试代码链接到我的动态库,我得到一个内存块肯定是丢失。这里是valgrind报告: == 45659 == 1个块中的36个字节绝对会丢失在损失记录中57个228 == 45659 == at 0x66BB:malloc(vg_replace_malloc.c:300) = ..
发布时间:2016-10-20 22:33:34 C/C++开发

记忆/速度问题的一般策略

我有一个c ++代码,它运行约200个ASCII文件,做一些基本的数据处理,并输出一个单一的ASCII文件(基本上)所有的数据。 程序首先运行得非常快,然后逐渐减速,可能会逐渐减慢一点,然后在相当缓慢的速度通过休息。也就是说它在大约5秒钟内通过第一〜80个文件,在大约50秒内〜200个文件。每个文件基本相同。 我正在寻找关于如何跟踪问题或内存泄漏的建议。 一些更多的细节: 首先 ..
发布时间:2016-10-20 22:30:19 C/C++开发

使用免费时内存使用不会减少?

不知怎的,这个调用 free()不工作。我在Windows上运行这个应用程序,并在任务管理器中使用内存,但调用 free()后没有减少内存使用。 int main(int argc,char * argv []) { int i = 0; int * ptr; ptr =(int *)malloc(sizeof(int)* 1000); for(i = 0; i ..
发布时间:2016-10-20 22:29:29 C/C++开发

Windows 7清除C ++内存泄漏?

只是为了好玩,我创建了一个项目创建约5 GB的内存,并没有删除它。只要应用程序正在运行,“内存泄漏”是存在的。第二个我关闭我的应用程序的内存在2秒内恢复正常,如果我的程序从来没有运行。 Windows 7在完成后会清除坏程序的内存泄漏吗? Linux和Mac OS X环境能做到这一点吗? 解决方案 程序终止时,操作系统会回收先前分配给它的所有内存。清除内存泄漏可能是一个被察觉的 ..
发布时间:2016-10-20 09:24:56 服务器开发

会使用goto造成内存泄漏吗?

我有一个程序,我需要打破一大堆嵌套for循环。到目前为止,大多数人一直告诉我这样做的方式是在我的代码中使用一个丑陋的goto。 现在,如果我创建一堆本地堆栈我认为这是他们被称为,如果不是,我的意思只是常规变量,而不使用新命令)变量在我的循环和我的程序命中一个if语句触发goto,我会遇到内存泄漏,由于我的程序退出许多循环不正确,并且不清除局部变量? 解决方案 不,不会导致内存泄漏。 ..
发布时间:2016-10-20 09:22:48 C/C++开发

“应用程序无法正确启动”后包括vld.h

我在Visual Studio 2010的Win32项目中包括vld.h,vld.lib和vld_x86.dll。它正确建立,但是当我执行时,它会崩溃的消息: “应用程序无法正确启动(0xc0150002)。单击确定关闭应用程序。 我使用Dependency Walker运行它,但它显示并排错误如下: 错误:“D:\project\..\debug\VLD_X86.D ..

Windows任务管理器如何可靠地确定程序的内存使用?

我可以使用任务管理器来检测巨大的内存泄漏吗?我有一个小文本解析程序,显示内存使用大约640K时,我启动它。当我解析一个文件并索引它的内存使用增长取决于文件的大小。然后当我“清除”索引,我的内存使用下降到1400K左右。在这之后,我可以添加尽可能多的文件,当我清除索引,内存使用下降到这个1400k级别+或a〜5%。 这是我在我的程序改变之后。在更改之前,内存使用将继续上升,每次我indexxe ..
发布时间:2016-10-19 21:02:30 C/C++开发

用于Qt内存的抑制文件与Valgrind泄漏

我通常在C ++中写我的类,并检查他们是否在Linux平台上使用valgrind泄露内存。我不满足,直到所有的堆内存释放。 开始写在Qt,我发现valgrind检测到多少泄漏,也在一个简单的项目。 我读某处可能会使用valgrind的压缩文件,这有助于过滤掉不必要的泄漏,但是,我找不到它。 我使用的是Ubuntu 11.04 x64,g ++ 4.5,Qt 4.7。 有人知道如 ..
发布时间:2016-10-19 20:39:11 C/C++开发

如果/什么时候deallocated堆内存被回收?

我在嵌入式Linux系统上运行过夜内存测试。使用vmstat我已经观察到空闲内存随时间稳定下降。根据 procfs 中的一些 smaps 分析,一个进程的堆大致以相同的速率增长。我怀疑内存泄漏,并在代码中发现了一些地方,新和 delete 经常使用。但是,我没有看到新调用没有匹配删除调用。 我再次运行内存测试,今天早上通过以下调用清除了内存缓存。 echo 3& / proc / s ..
发布时间:2016-10-19 20:36:42 服务器开发

Linux中的C ++应用程序的内存稳定性

我想验证我为Linux编写和编译的C ++应用程序的内存稳定性。 这是一个以每秒10-20个连接速率响应远程客户端连接的网络应用程序。 从长远来看,内存上升到50MB,即使应用程序正在调用删除... 调查表明,Linux不会立即释放内存。所以这里是我的问题: 如何强迫Linux释放内存我实际上释放?至少我想这样做一次验证内存的稳定性。 否则,是否有任何可靠的内存指示器,可以报告我 ..
发布时间:2016-10-19 19:30:50 服务器开发

这是MFC中的内存泄漏

// CMyDialog继承自CDialog void CMyFrame :: OnBnClickedCreate() { CMyDialog * dlg = new CMyDialog dlg-> Create(IDD_MYDIALOG,m_thisFrame); dlg-> ShowWindow(SW_SHOW); } 我很确定这个漏洞。我真正要求的是:在 ..
发布时间:2016-10-17 11:12:30 C/C++开发

为什么一个标量删除析构函数作为向量删除在Windows上的结果被调用?

我有一个在Windows上泄漏的代码。它在许多unix平台上运行良好,泄漏只发生在Windows上。 二进制包括exe,1 dll和2个静态库。 exe链接到dll和静态库,而静态库也与dll链接。泄漏发生在exe代码中,而不是调用向量删除析构函数,由于某种原因标量删除析构函数被调用。这导致只有数组中的第一个对象被删除,而数组的其余部分保留在内存中。 泄漏的伪代码如下所示: cla ..
发布时间:2016-10-17 11:09:21 C/C++开发