因为工作需要接触了OPC通信协议的项目,在开发客户端的时候,写的断开连接的功能块出现了问题。具体来说,是通过CComObject类进行建立异步回调,进而建立与OPC服务器的连接,而在断开服务器的时候,会出现以下报错:
中断程序后,在DEBUG的模式下,程序停在了atlcom.h文件下的virtual ~CComObject() throw()类中的_pAtlModule->Unlock(),在RELEASE模式下,停在了同一个函数中STDMETHOD_(ULONG,Release)上,参看其注释,可以知道因为断开连接的时候,没有正确的释放掉CComObject这类。