我正在使用C#编写的应用程序调查内存泄漏。 C ++。一旦我通过PerfMon日志和WinDbg / SOS调试将它隔离到几个C ++组件,我尝试使用UMDH(使用+ ust启用的gflags)来比较快照并找出哪些堆分配正在泄漏内存。
最后,通过手动审查代码找到了泄漏。下面的示例代码段。
char *p = new char[size];
// use the pointer
delete p; <---- MEMORY LEAK
我想知道为什么UMDH没有抓住这个? UMDH从未在比较日志中将此报告为问题。 WinDbg堆命令会帮助指出泄漏吗?