我正在编写 Direct3D 10 应用程序并希望确保没有 COM 对象泄漏。
是的,我正在用 CComPtr 包装接口,但我还是想要一个泄漏检查,出于同样的原因,即使 RAII 和智能指针保证不会有泄漏,我仍然使用普通的堆分配泄漏检测器:有时(尤其是在连接时对于像 Direct3D 这样的 C 库),您必须退回到较低的抽象级别并使用原始指针、new、delete,并且您会犯错误。(更不用说一些对 Release() 的调用在程序结束时不会返回 0)
在包含 atlbase.h 之前,我已经 #defined _ATL_DEBUG_INTERFACES,但在输出窗口中什么也没有出现!我还需要做些什么来让 _ATL_DEBUG_INTERFACES 工作吗?