跟踪 COM 对象 c# 的发布

本文关键字:COM 对象 跟踪 | 更新日期: 2023-09-27 18:31:13

我有一个由 umamaged 代码使用的 c# com 类。我可以调试它,但我不知道何时释放对象。如果它是在 c++ 中实现的,那么在 c# 上它将被释放到 GC。有没有办法跟踪那个时刻?提前谢谢。

跟踪 COM 对象 c# 的发布

维护非托管资源的托管类型应实现 IDisposable 接口。 这告诉代码的使用者,当他们完成对象的实例时,他们需要在对象实例上调用Dispose()(即,尽可能将它们包装在using块中)。

正确实现IDisposable将在其终结器中释放本机资源,但客户端可以比该Dispose()更早调用,以确定性地释放非托管资源。 无论哪种方式,您都可以避免泄漏,但最好尽快致电Dispose()

这是一个SO问题,详细介绍了该过程。