COM服务器的奇怪行为

时间:2012-01-13 14:35:11

标签: c++ com

有一个用C ++编写的COM服务器。一般来说它工作正常,但有时候很少有客户会遇到奇怪的问题。客户端(GUI应用程序)向服务器发送检索或保存某些业务的请求。如果客户遇到任何问题,他们还会向服务器发送请求以记录错误。在奇怪的情况下,客户端获得COM异常“没有足够的存储空间来完成此操作”,向服务器发送错误消息并自行关闭(它已被编程为关闭自身以在此类异常后关闭)。服务器在没有问题的情况下记录消息,但在一段时间后它无法正常工作。它仅响应某些请求(未找到任何模式)。服务器计算机和客户端计算机具有足够的内存和CPU功率(当问题出现时也是如此)。重新启动服务器可以解决所有问题(直到下一次出现,通常在几天内发生)。

有人知道我的问题是什么吗?

提前谢谢你 卢卡斯

1 个答案:

答案 0 :(得分:2)

这些信息太少,无法准确确定问题的原因。当然,线程问题可能会导致这种情况,但是有许多类似的原因可能会产生相同的结果。

在幕后,这是HRESULT: 0x8007000E (E_OUTOFMEMORY)。问题是谁产生了这个结果;它是COM互操作还是您的服务器代码?