在DirectX程序中查找内存泄漏

时间:2016-12-28 09:06:16

标签: memory-leaks directx pix

背景: 我有一个涉及DirectX(版本9)的Visual Studio 2013项目。该项目是x86解决方案。在DirectX调试模式下运行时,我无法摆脱所有内存泄漏。

Visual Studio调试的输出:

Direct3D9: :====> ENTER: DLLMAIN(6417d9a0): Process Detach 0000350c, tid=0000363c
Direct3D9: (INFO) :MemFini!
Direct3D9: (ERROR) :Memory still allocated!  Alloc count = 975
Direct3D9: (ERROR) :Current Process (pid) = 0000350c
<Solution name> has triggered a breakpoint.
The program '[13580] <Solution name>' has exited with code 0 (0x0).

从上面我了解到该程序已经完成了975项仍然分配但未被销毁或发布的项目。它触发了一个断点是由于DirectX调试中的设置(&#34;打破emory泄漏&#34;)。

因此,在发布实际代码之前,我尝试使用Microsoft随附DirectX的PIX实用程序。通过捕获相同的解决方案,我得到了下面的结果,这表明创建的每个对象也已被破坏。

Screen shot from PIX showing objects

因此,根据VS2013,我留下了内存泄漏,但不是根据PIX。关于如何进行的任何想法?

0 个答案:

没有答案