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

jap*_*iss 0 c# debugging interop garbage-collection

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

Han*_*ant 8

那是不可能的.

对这种错误场景的测试完全相反:在互操作调用之前或之后强制执行垃圾收集.

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