C++ 是否有任何工具可以验证ATL C++;COM Addref和发布规则的代码

C++ 是否有任何工具可以验证ATL C++;COM Addref和发布规则的代码,c++,com,window,atl,C++,Com,Window,Atl,是否有任何工具或源代码分析引擎可以在执行一系列COM ATL项目时运行,并确定是否正确遵循了Addref和Release的COM规则您只需在代码中对显式的Addref和Release进行文本搜索即可。这些都是可能的缺陷,因为ATL COM代码库应该使用CCOMPtr和其他基于ATL的类来自动执行ref计数调用。当您不使用AddRef和Release时,剩余的泄漏是普通内存泄漏。我们进行代码检查,记录日志并打印Release的返回值,以检查是否为零,遵循所有COM AddiRf和代码中的释放规则…

是否有任何工具或源代码分析引擎可以在执行一系列COM ATL项目时运行,并确定是否正确遵循了Addref和Release的COM规则

您只需在代码中对显式的
Addref
Release
进行文本搜索即可。这些都是可能的缺陷,因为ATL COM代码库应该使用
CCOMPtr
和其他基于ATL的类来自动执行ref计数调用。当您不使用
AddRef
Release
时,剩余的泄漏是普通内存泄漏。

我们进行代码检查,记录日志并打印Release的返回值,以检查是否为零,遵循所有COM AddiRf和代码中的释放规则……但我正在寻找另一轮验证的工具。我的意思是包含AdRef或发行版的ATL C++代码将不会通过我的评论,因为它包含了AddiRf或版本,而这些命令不需要直接在ATL C++代码中调用。ATL具有内置的调试工具——参见和。这是运行时分析,而不是静态分析。