如何查找DirectX3D应用程序的显存泄露
2013-05-29 09:58
323 查看
在关闭一个基于D3D的应用程序时,D3D调试运行库会报告内存泄露。按照以下步骤定位泄漏点。
1. 在DirectX Control Panel中(通常在DXSDK安装目录中可以找到),启用“Use Debug Version of Direct3D 9”并且将Debug Output Level设置为”More”。确保Break on Memory Leaks被禁用。点击Apply。
2. 在VS中调试运行应用程序。在关闭应用程序之后,查看VS的输出窗口Direct 3D9: (WARN) : Memory Address: 00xxxxxx, IAllocID= xx dwSize = xxxxxxxx;(pid = xxxxx)
3. 每条记录对应了一个资源泄漏,查看并记住ID,然后在DirectX Control Panel的Break On AllocID中输入ID并且点击Apply。
4. 再次运行程序,重复以上步骤。程序会在分配点中断,你可以检查哪里遗忘释放。
5. 当你调试完成之后,别忘了将Break On AllocID设置为0。
1. 在DirectX Control Panel中(通常在DXSDK安装目录中可以找到),启用“Use Debug Version of Direct3D 9”并且将Debug Output Level设置为”More”。确保Break on Memory Leaks被禁用。点击Apply。
2. 在VS中调试运行应用程序。在关闭应用程序之后,查看VS的输出窗口Direct 3D9: (WARN) : Memory Address: 00xxxxxx, IAllocID= xx dwSize = xxxxxxxx;(pid = xxxxx)
3. 每条记录对应了一个资源泄漏,查看并记住ID,然后在DirectX Control Panel的Break On AllocID中输入ID并且点击Apply。
4. 再次运行程序,重复以上步骤。程序会在分配点中断,你可以检查哪里遗忘释放。
5. 当你调试完成之后,别忘了将Break On AllocID设置为0。
相关文章推荐
- 如何查找DirectX3D应用程序的显存泄露
- 如何查找DirectX3D应用程序的显存泄露
- Android中如何查找内存泄露
- Android中如何查找内存泄露
- 有个应用程序一运行就崩溃,查找是什么样的编程错误导致程序崩溃,该如何逐一测试每种错误
- 多线程 DLL 回调函数问题,当应用程序退出时,有些操作并未完成,造成程序内存泄露,如何解决呢
- Android中如何查找内存泄露
- vc6.0中如何查找内存泄露
- Android中如何查找内存泄露
- Android中如何查找内存泄露
- Android中如何查找内存泄露
- arm-linux-gcc在编译应用程序时,如何查找默认的头文件路径
- Android中如何查找内存泄露
- [原创]如何使用新版HooKlogger查找内存泄露(3版)
- Android中如何查找内存泄露
- Android中如何查找内存泄露
- 如何查找安装的 Java 版本(而不在 Windows 或 Mac 中运行小应用程序)?
- Android中如何查找内存泄露
- 如何查找内存泄露
- Android中如何查找内存泄露