检测c++ Windows应用程序中的内存泄漏
Detecting Memory Leaks in C++ Windows application
我有一个c++ windows应用程序,它有一些内存泄漏问题。是否有可能使用NTSD分析转储中的内存泄漏?如果是,请指导我如何做?
我也听说我们可以使用用户模式转储。我不太熟悉在窗户上发现漏洞。在Linux中使用Valgrind非常容易。
是否有其他更好的选项来检查这个
有关视觉泄漏检测器的详细信息,请参阅此处。我在Windows上用过它。在应用程序中所要做的就是
#include <vld.h>
,在调试程序时,您将在终端中看到关于检测到的泄漏的报告,如下所示:
---------- Block 1199 at 0x04BE1058: 136 bytes ----------
Call Stack:
d:FoobarFooLog.cpp (26): FooLog::getInstance
d:FoobarFooMain.cpp (75): FooMain::init
f:ddvctoolscrt_bldself_x86crtsrccrtexe.c (578): __tmainCRTStartup
f:ddvctoolscrt_bldself_x86crtsrccrtexe.c (403): WinMainCRTStartup
0x759A3677 (File and line number not available): BaseThreadInitThunk
0x770C9D42 (File and line number not available): RtlInitializeExceptionChain
0x770C9D15 (File and line number not available): RtlInitializeExceptionChain
Data:
9C 33 2D 6B 74 2A 2D 6B C8 11 BE 04 00 00 00 00 .3-kt*-k ........
00 00 00 00 70 14 BB 6C 70 14 BB 6C 00 00 00 00 ....p..l p..l....
00 00 00 00 68 14 BB 6C 68 14 BB 6C 00 00 00 00 ....h..l h..l....
00 00 00 00 6C 14 BB 6C 6C 14 BB 6C 20 12 BE 04 ....l..l l..l....
00 00 00 00 CD 00 CD CD 00 00 00 00 01 CD CD CD ........ ........
68 14 BB 6C 78 33 2D 6B 00 00 00 00 00 00 00 00 h..lx3-k ........
我已经非常成功地跟踪内存和资源泄漏与DrMemory。它可以与GCC和MSVC一起使用,并且使用起来非常简单。
相关文章:
- 从构造函数抛出异常时如何克服内存泄漏
- malloc() 可能出现内存泄漏
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 尽管遵循了规则,内存泄漏在哪里
- 为什么调用堆栈数组会导致内存泄漏
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 使用模板类的自定义列表类型中的内存泄漏
- 为什么以下C++代码中存在内存泄漏?
- OpenCV 我应该使用智能指针来防止内存泄漏吗?
- 我是否生成线程并导致内存泄漏?
- 多线程程序中出现意外的内存泄漏
- 为什么此函数会导致内存泄漏?
- 在 C++ 库中使用cythonized python时内存泄漏
- 需要帮助查找内存泄漏
- 瓦尔格林德的内存泄漏使用新的
- 无法找出我的代码中的内存泄漏
- C++ 结构内部的unordered_map会导致内存泄漏问题吗?
- 可视化 使用 VS Code 查找C++应用程序中的内存泄漏
- Shared_ptr双链接列表内存泄漏
- C++ 在类中使用常量引用文本时 O2 内存泄漏