如何通过Windbg项目实例进行.NET内存泄漏分析以构建高效长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2260个文字,预计阅读时间需要10分钟。
一:背景+讲故事+上个月有位朋友找到我,说他的程序出现了内存泄漏,不知道如何进一步分析。截图如下:
+ 朋友这段话已经说得非常简略了,那就上windbg吧。
二:Windbg分析
一:背景
讲故事
上个月有位朋友找到我,说他的程序出现了内存泄漏,不知道如何进一步分析,截图如下:
朋友这段话已经说的非常言简意赅了,那就上 windbg 说话吧。
二:Windbg 分析
1. 到底是哪一方面的泄漏
根据朋友描述,程序运行一段时间后,内存就炸了,应该没造成人员伤亡,不然也不会跟我wx聊天了,这里可以用 .time 看看当前的 process 跑了多久。
0:000> .time
Debug session time: Thu Oct 21 14:54:39.000 2021 (UTC + 8:00)
System Uptime: 6 days 4:37:27.851
Process Uptime: 0 days 0:40:14.000
Kernel time: 0 days 0:01:55.000
User time: 0 days 0:07:33.000
看的出来,这个 dump 是在程序跑了 40min 之后抓的,接下来我们比较一下 process 的内存和 gc堆 占比, 看看到底是哪一块的泄漏。
本文共计2260个文字,预计阅读时间需要10分钟。
一:背景+讲故事+上个月有位朋友找到我,说他的程序出现了内存泄漏,不知道如何进一步分析。截图如下:
+ 朋友这段话已经说得非常简略了,那就上windbg吧。
二:Windbg分析
一:背景
讲故事
上个月有位朋友找到我,说他的程序出现了内存泄漏,不知道如何进一步分析,截图如下:
朋友这段话已经说的非常言简意赅了,那就上 windbg 说话吧。
二:Windbg 分析
1. 到底是哪一方面的泄漏
根据朋友描述,程序运行一段时间后,内存就炸了,应该没造成人员伤亡,不然也不会跟我wx聊天了,这里可以用 .time 看看当前的 process 跑了多久。
0:000> .time
Debug session time: Thu Oct 21 14:54:39.000 2021 (UTC + 8:00)
System Uptime: 6 days 4:37:27.851
Process Uptime: 0 days 0:40:14.000
Kernel time: 0 days 0:01:55.000
User time: 0 days 0:07:33.000
看的出来,这个 dump 是在程序跑了 40min 之后抓的,接下来我们比较一下 process 的内存和 gc堆 占比, 看看到底是哪一块的泄漏。

