gpt4 book ai didi

c# - 如何研究 .NET 中的非托管内存泄漏?

转载 作者:IT王子 更新时间:2023-10-29 04:17:08 27 4
gpt4 key购买 nike

我有一个运行在 MSMQ 上的 WCF 服务。随着时间的推移,内存逐渐增加,表明存在某种内存泄漏。我在本地运行该服务并使用 PerfMon 监控一些计数器。总的 CLR 内存管理堆字节数保持相对恒定,而进程的私有(private)字节数随着时间的推移而增加。这让我相信存在某种非托管内存泄漏。假设非托管内存泄漏是问题所在,我该如何解决该问题?是否有任何工具可用于提示导致非托管内存泄漏的原因?此外,我所有的服务正在做的就是从事务队列中读取数据并写入数据库,所有这些都是 DTC 事务的一部分(通过在服务契约(Contract)上要求事务来处理)。我没有对 COM 或 DllImports 做任何明确的事情。

提前致谢!

最佳答案

您可以使用Windbg 来分析进程Heap。有一些文章和备忘单展示了如何做到这一点,比如 Memory Leak Detection Using Windbg

关于c# - 如何研究 .NET 中的非托管内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850098/

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