【原创翻译】开启Direct3D调试模式!
声明:此文章翻译自DirectX 9.0C OCT 2006 SDK的Direct3D For C++帮助文档的Enabling Direct3D Debug Information主题,前面部分有些没有翻译的。
在#include <D3D9.h>语句前面加上以下这条语句即可:
#define D3D_DEBUG_INFO
关闭调试时查看D3D Device对象的情况
开启调试时查看D3D对象的情况
为外部调试使用调用堆栈
当 Direct3D 调试模式开启之后,你可以在任何时候查看对象的调用堆栈。这会导致你的程序非常慢,但是可以使用此功能检查资源泄漏(内存泄漏的一种)。开启调用堆栈,设置这个注册表键值为1即可:
\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Direct3D\\ D3D9Debugging\\EnableCreationStack
开启D3D调试模式,然后重建你的工程,系统将会给你访问这个附加的变量:
LPCWSTR CreationCallStack;
这个变量存储着每次创建对象时的调用堆栈。这会导致你的程序非常慢,但是可以使用此功能检查资源泄漏。
我最擅长从零开始创造世界,所以从来不怕失败,它最多也就让我一无所有。