许多年前,我记得使用编译时选项来跟踪对AddRef()和Release()的调用,用于跟踪COM对象的生命周期。
这在VS2008中是否仍然存在?
我正在处理一些遗留代码,这些代码在处理COM对象方面存在问题。
答案 0 :(得分:2)
如果您使用ATL,可以通过定义_ATL_DEBUG_INTERFACES来输出此信息。 否则,应该手动将跟踪代码放在AddRef / Release方法实现中,或者实现类似ATL的包装器,它将实现具有内置日志记录功能的IUnknown接口。
您可以查看CComObjectRootBase类的实现。