是valgrind抓住了Debian Wheezy上的Qt 4.8在极简主义应用程序中泄露内存
Is valgrind catching Qt 4.8 on Debian Wheezy leaking memory in minimalist app?
我在这里读到了几个问题,人们通过valgrind运行最小的Qt程序,并发布结果。通过查看输出得出的总体结论是"好吧,没有实际的泄漏,这只是Qt如何使用内存"。
然而,我使用一个基本上为空的应用程序得到的结果看起来。。。更糟的我得到了"肯定丢失"泄漏,例如:
https://gist.github.com/3204769
==32147== LEAK SUMMARY:
==32147== definitely lost: 848 bytes in 11 blocks
==32147== indirectly lost: 1,756 bytes in 53 blocks
==32147== possibly lost: 1,720 bytes in 9 blocks
==32147== still reachable: 121,019 bytes in 2,257 blocks
==32147== suppressed: 0 bytes in 0 blocks
运行方式:
valgrind--tool=memcheck--leak-check=yes--show reachable=yes--num callers=20--track fds=yes/测试2>valgrind.log
我对这个设置有点紧张,试图获得一个相对较新的C++11编译gcc:
- Debian Wheezy 3.2.0-2-686-pae
- gcc(Debian 4.7.1-2)4.7.1
如果我做sudo kwrite --version
,我得到:
Qt: 4.8.1
KDE Development Platform: 4.8.4 (4.8.4)
KWrite: 4.8.3 (4.8.3)
有没有人处于类似的情况,或者知道这里发生了什么?:-/
大部分内容似乎是您正在使用的库的内部"全局"状态。有人可能会争论通过"程序终止"来清理全局资源是否是一种好的方式,但如果做得好,可能也没问题。我个人不喜欢它,因为它让检测真正的泄漏变得更加困难。。。
相关文章:
- 可视化 使用 VS Code 查找C++应用程序中的内存泄漏
- 应用程序内存使用量减少
- 在C++应用程序中使用 Tensorflow:如何释放 GPU 内存
- 任务管理器 - C/C++ 应用程序 - 分配的地址空间与已用内存
- OpenGL GLFW 应用程序 - 客户端内存限制
- 使用没有堆内存分配的接口的框架应用程序?
- 我们如何访问 Node.js 应用程序之外的内存?
- 使用 IPC 共享内存的应用程序是否可以访问彼此的代码?
- 使用 valgrind 的地块测量 c++ 应用程序的最大内存使用量(堆栈和堆)
- 为什么Linux报告了我的应用程序的内存使用情况
- 是否可以锁定应用程序中常见控件使用的内存?
- 32 位应用程序内存不足
- 空的Win32 C++应用程序内存消耗过多
- 图形驱动程序会导致我的应用程序内存泄漏吗
- 我的应用程序内存增加
- 调用JNI_CreateJavaVM函数后,应用程序内存增加了千兆字节
- gtkmm应用程序内存使用量不断增加
- 嵌入式Linux设备上运行的C/ c++应用程序内存泄漏调试
- 在imedicontrol上直接显示MP4Demux应用程序内存不足
- ssl证书验证上的多线程c++应用程序内存泄漏