编译时间选项以跟踪addref()和release()?

时间:2012-03-12 15:34:44

标签: visual-studio-2008 com

许多年前,我记得使用编译时选项来跟踪对AddRef()和Release()的调用,用于跟踪COM对象的生命周期。

这在VS2008中是否仍然存在?

我正在处理一些遗留代码,这些代码在处理COM对象方面存在问题。

1 个答案:

答案 0 :(得分:2)

如果您使用ATL,可以通过定义_ATL_DEBUG_INTERFACES来输出此信息。 否则,应该手动将跟踪代码放在AddRef / Release方法实现中,或者实现类似ATL的包装器,它将实现具有内置日志记录功能的IUnknown接口。

您可以查看CComObjectRootBase类的实现。