摘要: [如何开启WinDbg本机调试问题] (https://www.cnblogs.com/huangxincheng/articles/17864581.html) [调试托管代码无行号问题] (https://www.cnblogs.com/huangxincheng/articles/178645 阅读全文
posted @ 2023-11-29 16:00 一线码农 阅读(4160) 评论(0) 推荐(6)
摘要: 一:背景 1. 讲故事 说来也奇怪,最近分析了好几例内存暴涨事故,这不又来了,哈哈,今天再给大家带来一份非托管内存泄露导致的程序生产故障,而且是部署在Linux上.NET程序。 前些天有位朋友找到我,自己有一定的分析能力,发现程序是非托管内存泄露,但能力有限暂时也不知道怎么弄,让我帮忙看下,把dum 阅读全文
posted @ 2026-07-20 09:39 一线码农 阅读(485) 评论(14) 推荐(2)
摘要: 引言 在 .NET 生产环境调试领域,使用 WinDbg 和 PerfView 进行基础的 Dump 分析只是入门。随着应用程序复杂度的增加——尤其是与非托管代码的互操作、async/await 模式和跨平台部署——开发人员需要更高级的技术来诊断和解决最具挑战性的问题。 本文综合了实际场景中的调试经 阅读全文
posted @ 2026-07-18 16:26 一线码农 阅读(636) 评论(0) 推荐(13)
摘要: 一:引言 在 .NET 应用的生产环境中,程序崩溃、内存泄漏、线程死锁等问题时有发生。面对这些棘手的问题,开发者往往束手无策,只能依靠经验和工具进行排查。本文将结合多篇实战案例,为大家梳理一套完整的 .NET 生产环境调试方法论。 二:崩溃分析方法论 1. 快速定位崩溃类型 当拿到一个 dump 文 阅读全文
posted @ 2026-07-17 14:54 一线码农 阅读(796) 评论(3) 推荐(14)
摘要: 一:背景 1. 讲故事 前些时间有位朋友找到我,说他们部署在linux上的系统内存占用比较高,领导让他找原因,由于自身的技术上限一直没找到,让我帮忙看下,让朋友通过 dotnet-dump 或者 procdump 从生产上抓一个下来,既然dump到手,那就进入分析环节啦。 二:内存暴涨分析 1. 为 阅读全文
posted @ 2026-07-16 15:34 一线码农 阅读(605) 评论(2) 推荐(10)
摘要: 一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的电力系统出现了内存暴涨的问题,让我帮忙看下怎么回事?由于不是训练营里的学员,所以这个分析能力还是有点门外汉,让这位朋友将dump丢给我,然后我们上windbg分析。 二:内存暴涨分析 1. 为什么会暴涨 要想知道为什么会涨,很简单,用老套 阅读全文
posted @ 2026-07-14 17:04 一线码农 阅读(805) 评论(3) 推荐(5)
摘要: 一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的系统出现了CPU爆高,找不到原因,让我帮忙看一下,dump也拿出来了,接下来上windbg分析。 二:CPU爆高分析 1. 真的爆高吗 dump的分析第一原则就是相信数据,先使用 !tp 观察cpu使用率。 0:031> !tp Usin 阅读全文
posted @ 2026-06-03 10:44 一线码农 阅读(840) 评论(6) 推荐(10)
摘要: 一:背景 1. 讲故事 前些天有位朋友微信找到我,说它的程序出现了内存暴涨,自己也没分析出啥,让我看下到底怎么回事,然后让这位朋友抓一个dump,拿它占一卦就行了。 二:内存暴涨分析 1. 为什么会暴涨 到底是哪里的暴涨,折半查找一下就知道了,分别通过 !address -summary 和 !ee 阅读全文
posted @ 2026-05-22 14:29 一线码农 阅读(508) 评论(0) 推荐(4)
摘要: 一:背景 1. 讲故事 好久没有写文章了,除了家里的小宝宝要照护,还有一个就是卷英语的听说去了,虽有些时段未更新,但这个 .NET高级调试之旅 肯定不会断的,感谢大家的期盼,接下来开始分享吧。 前些天有位朋友找到我,说它们的视觉程序崩溃了,让我帮忙看下怎么回事?虽然给同行们分析没有那么频了,但该出手 阅读全文
posted @ 2026-05-06 15:47 一线码农 阅读(1003) 评论(0) 推荐(9)
摘要: 一:背景 1. 讲故事 微信里有一位朋友找到我,说他们公司的程序存在内存暴涨问题,自己分析了下没有找到原因,让我看下怎么回事?由于大家都有dump分析基础,所以交流互通上还是很顺利的,接下来就是上dump分析啦。 二:内存暴涨分析 1. 为什么会内存暴涨 先还是老套路,用 !address -sum 阅读全文
posted @ 2026-03-09 11:15 一线码农 阅读(947) 评论(0) 推荐(11)
摘要: 一:背景 1. 讲故事 这是训练营里的一位朋友找到我的,说他们的系统会有偶发的内存暴涨情况,自己也没分析出来,让我帮忙看下怎么回事,拿了一个20G+的dump文件,这文件是够大的,我个人建议一般是不超过10G,不然的话windbg分析起来很吃力。 二:内存暴涨分析 1. 为什么会内存暴涨 还是老办法 阅读全文
posted @ 2026-01-07 09:20 一线码农 阅读(2004) 评论(5) 推荐(9)
摘要: 一:背景 1. 讲故事 去年微信上有位朋友找到我,说他们的RFID标签打印出现了偶发性崩溃,一直没找到原因,让我帮忙看下怎么回事?然后就让这位朋友用procdump抓一个崩溃dump给我,我看看就好。 二:崩溃分析 1. 为什么会崩溃 双击打开dump,windbg会自动定位到崩溃的上下文,这一点我 阅读全文
posted @ 2026-01-06 10:29 一线码农 阅读(1646) 评论(0) 推荐(2)
摘要: 一:背景 1. 讲故事 前些天又遇到了一例 FileSystemWatcher 引发的内存碎片化故障,但这个碎片化不是因为经典的 reloadOnChange=true 导致的,所以我觉得有必要做一次深度的反思,供以后遇到类似问题提供技术上的解决方法,这篇我们就来系统的讲解下 两种碎片化方式的调查方 阅读全文
posted @ 2025-11-21 11:21 一线码农 阅读(1694) 评论(0) 推荐(8)
摘要: 一:背景 1. 讲故事 前面几篇我们都是手工安装 dotmemory 软件,然后在程序的合适时机抓取snapshot,这种方式在绝大多数场景下都没有问题,但在一些精细化的场景下,如果能够实现自动化抓取,那就比较🐂👃了,这篇我们就来聊一聊这玩意。 二:如何实现自动化抓取 1. 测试代码 所谓的自动 阅读全文
posted @ 2025-11-18 11:05 一线码农 阅读(580) 评论(0) 推荐(3)
摘要: 一:背景 1. 讲故事 前面几篇文章说的都是对进程采集 snapshot 文件,但这种方式的前提需要在目标机器上运行 DotMemory 相关组件,这在很多生产环境下很难做到,我知道很多医疗,金融生产环境,部署一个外来文件都需要层层审批,尤其像 dotmemory 这种商业软件,想上去门到没有。。。 阅读全文
posted @ 2025-11-17 10:03 一线码农 阅读(1128) 评论(0) 推荐(2)
摘要: 一:背景 1. 讲故事 前面两篇我们讲的都是通过挂引用根的方式导致的内存暴涨,在快速检测台上能够一眼就看出是什么类型的Type导致的,分析难度稍微较低,在真实的dump分析场景下,也会存在对象偏小而内存暴涨的情况,一般的新手会被这种场景搞懵逼,这篇就来分享这种奇葩的情况。 二:内存暴涨分析 1. 问 阅读全文
posted @ 2025-11-16 09:52 一线码农 阅读(411) 评论(3) 推荐(3)