gpt4 book ai didi

.net - CLR 类中的内存泄漏

转载 作者:行者123 更新时间:2023-12-04 20:19:06 26 4
gpt4 key购买 nike

我有一个内存泄漏并追踪到 CLR 中的这个字段:

Microsoft.CSharp.RuntimeBinder.RuntimeBinder.s_instance.m_semanticChecker.globalSymbolContext.GlobalSymbols.tableGlobal.dictionary



可以使用以下规范在调试器中查看它:

((Microsoft.CSharp.RuntimeBinder.Semantics.LangCompiler)(Microsoft.CSharp.RuntimeBinder.RuntimeBinder.s_instance.m_semanticChecker)).globalSymbolContext.GlobalSymbols.tableGlobal.dictionary



在应用程序的执行过程中,这本词典会无限增长。

任何想法,这个领域到底是用来做什么的,为什么它可以增长?

UPD 没有动态创建类型,至少在我的代码中

最佳答案

迄今为止我找到的最佳答案:
问题发生在 Excel VSTO Range.Style 属性附近(它使用动态数据类型)。
每次这段代码

range.Style == null

运行,它使活页夹消耗更多内存。
但是如果我像这样重写这段代码
(Style)range.Style == null

那么问题就消失了。

UPD 将此报告给 Microsoft https://connect.microsoft.com/VisualStudio/feedback/details/861770/memory-leak-when-using-excel-add-in-api#tabs

关于.net - CLR 类中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com