在C#中禁用垃圾收集进行调试?

时间:2013-08-24 17:43:58

标签: c# debugging garbage-collection interop

是否可以在C#中完全关闭垃圾回收?我正在调试一些毛茸茸的托管/本机互操作内存错误,我想快速排除GC释放我仍然需要的原生对象的可能性。

1 个答案:

答案 0 :(得分:8)

那是不可能的。

以相反的方式完全完成对此类错误场景的测试:在互操作调用之前或之后强制执行垃圾收集。

这是内置于调试器中的。它有两个托管调试助手,可以强制GC进行互操作转换gcManagedToUnmanaged和gcUnmanagedToManaged。在.config文件中启用它们,如链接文章中所示。