Visual c++ 如何查看程序是否释放了内存

Visual c++ 如何查看程序是否释放了内存,visual-c++,heap,heap-memory,Visual C++,Heap,Heap Memory,我在Visual Studio上工作,我在我们的代码(庞大的代码库,复杂的业务用例)中看到,在流中,我们没有释放指向函数的指针的内存。我原以为会在那里释放内存 是否有一种方法可以确定该内存地址(我知道该地址,因为它到达函数)是否已被释放或仍然是进程的所有者 我试过“HeapMemView”和“ramap”。为了测试这些,我只创建了一个指针和分配的内存,并尝试使用这些查看器查看它们。我写的代码是 char *a=new char[1000]; char str[1000]; sprintf(str

我在Visual Studio上工作,我在我们的代码(庞大的代码库,复杂的业务用例)中看到,在流中,我们没有释放指向函数的指针的内存。我原以为会在那里释放内存

是否有一种方法可以确定该内存地址(我知道该地址,因为它到达函数)是否已被释放或仍然是进程的所有者

我试过“HeapMemView”和“ramap”。为了测试这些,我只创建了一个指针和分配的内存,并尝试使用这些查看器查看它们。我写的代码是

char *a=new char[1000];
char str[1000];
sprintf(str,"Address : %p",a);
MessageBox(0, str, "MessageBox", MB_OK);
我尝试使用上述工具查看打印的地址值,但无法查看地址


我做错什么了吗?或者有其他方法可以做到这一点吗?

您可以使用Purify等外部工具来分析内存泄漏。 VisualStudio下的另一种技术是使用CRT调试技术来跟踪内存分配/释放

请查看以下链接: