上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 39 下一页
摘要: 一:背景 1.讲故事 前段时间有位朋友加微信,说他的程序直接 CPU=100%,每次只能手工介入重启,让我帮忙看下到底怎么回事,哈哈,这种CPU打满的事故,程序员压力会非常大, 我让朋友在 CPU 高的时候抓 2 个 dump 下来,然后发给我分析。 二:WinDbg 分析 1. CPU 真的被打满 阅读全文
posted @ 2022-10-24 09:06 一线码农 阅读(1412) 评论(4) 推荐(10) 编辑
摘要: 一:背景 1.讲故事 最近遇到了好几起和 COM 相关的Dump,由于对 COM 整体运作不是很了解,所以分析此类dump还是比较头疼的,比如下面这个经典的 COM 调用栈。 0:044> ~~[138c]s win32u!NtUserMessageCall+0x14: 00007ffc`5c891 阅读全文
posted @ 2022-10-17 14:58 一线码农 阅读(5342) 评论(11) 推荐(27) 编辑
摘要: 一:背景 1.讲故事 前段时间有位朋友微信找到我,说他生产机器上的 Console 服务看起来像是卡死了,也不生成日志,对方也收不到我的httpclient请求,不知道程序出现什么情况了,特来寻求帮助。 哈哈,一般来说卡死的情况在窗体程序(WinForm,WPF) 上特别多,在 Console,We 阅读全文
posted @ 2022-10-14 08:27 一线码农 阅读(3665) 评论(13) 推荐(13) 编辑
摘要: 一:背景 1.讲故事 前段时间有位朋友微信找到我,说他的程序出现了 CPU 爆高,帮忙看下程序到底出了什么情况?图就不上了,我们直接进入主题。 二:WinDbg 分析 1. CPU 真的爆高吗? 要确认是否真的爆高,可以使用 !tp 观察。 0:000> !tp CPU utilization: 9 阅读全文
posted @ 2022-10-12 09:07 一线码农 阅读(4708) 评论(7) 推荐(27) 编辑
摘要: 一:背景 1.讲故事 前些天有位朋友微信找到我,说他的程序出现了CPU阶段性爆高,过了一会就下去了,咨询下这个爆高阶段程序内部到底发生了什么? 画个图大概是下面这样,你懂的。 按经验来说,这种情况一般是程序在做 CPU 密集型运算,所以让朋友在 CPU 高的时候间隔 5~10s 抓两个 dump 下 阅读全文
posted @ 2022-10-11 08:31 一线码农 阅读(2544) 评论(6) 推荐(18) 编辑
摘要: 一:背景 1.讲故事 最近分享了好几篇关于 非托管内存泄漏 的文章,有时候就是这么神奇,来求助的都是这类型的dump,一饮一啄,莫非前定。让我被迫加深对 NT堆, 页堆 的理解,这一篇就给大家再带来一篇内存泄漏。 前段时间有位朋友找到我,说他的程序出现了非托管泄漏,某一块的操作会导致非托管内存上涨的 阅读全文
posted @ 2022-10-09 10:45 一线码农 阅读(1344) 评论(1) 推荐(11) 编辑
摘要: 一:背景 1.讲故事 最近遇到一位朋友的程序崩溃,发现崩溃点在富编辑器 msftedit 上,这个不是重点,重点在于发现他已经开启了 页堆 ,看样子是做了最后的挣扎。 0:000> !analyze -v EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 8 阅读全文
posted @ 2022-10-07 08:29 一线码农 阅读(2715) 评论(0) 推荐(10) 编辑
摘要: 一:背景 1.讲故事 在分析的众多dump中,经常会遇到各种奇葩的问题,仅通过dump这种快照形式还是有很多问题搞不定,而通过 perfview 这种粒度又太粗,很难找到问题之所在,真的很头疼,比如本篇的 短命线程 问题,参考图如下: 我们在 t2 时刻抓取的dump对查看 短命线程 毫无帮助,我根 阅读全文
posted @ 2022-10-06 08:09 一线码农 阅读(3013) 评论(4) 推荐(16) 编辑
摘要: 一:背景 1. 背景 前段时间有位朋友咨询说他的程序出现了非托管内存泄漏,说里面有很多的 HEAP_BLOCK 都被标记成了 Internal 状态,而且 size 都很大, 让我帮忙看下怎么回事? 比如下面这样。 1cbea000: 42000 . 42000 [101] - busy (41fe 阅读全文
posted @ 2022-10-03 10:31 一线码农 阅读(2566) 评论(0) 推荐(8) 编辑
摘要: 一:背景 1. 讲故事 其实这个问题是前段时间有位朋友咨询我的,由于问题说的比较泛,不便作答,但想想梳理一下还是能回答一些的,这篇就来聊一聊下面这几个锁。 Interlocked AutoResetEvent / ManualResetEvent Semaphore 用户态层面我就不想说了,网上一搜 阅读全文
posted @ 2022-09-21 13:06 一线码农 阅读(3091) 评论(7) 推荐(21) 编辑
摘要: 一:背景 1. 讲故事 前段时间有位朋友在分析他的非托管泄漏时,发现NT堆的_HEAP_ENTRY 的 Size 和 !heap 命令中的 Size 对不上,来咨询是怎么回事? 比如下面这段输出: 0:000> !heap 0000000000550000 -a Index Address Name 阅读全文
posted @ 2022-09-19 14:38 一线码农 阅读(1599) 评论(0) 推荐(8) 编辑
摘要: 一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序出现了内存泄漏,能不能帮他看一下,这个问题还是比较经典的,加上好久没上非托管方面的东西了,这篇就和大家分享一下,话不多说,上 WinDbg 说话。 二:WinDbg 分析 1. 到底是哪里的泄漏 好的开始就是成功的一半,否则就南辕北辙 阅读全文
posted @ 2022-09-14 08:34 一线码农 阅读(2348) 评论(2) 推荐(12) 编辑
摘要: 一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 😄😄😄,再次声明一下,我分析 dump 是免费的,没有某软高额的分析费用,你要问我图什么,图技术的精进。 回到 阅读全文
posted @ 2022-09-06 08:37 一线码农 阅读(1514) 评论(1) 推荐(7) 编辑
摘要: 一:背景 前段时间在训练营上课的时候就有朋友提到一个问题,为什么 Windbg 附加到 C# 程序后,程序就处于中断状态了?它到底是如何实现的? 其实简而言之就是线程的远程注入,这一篇就展开说一下。 二:实现原理 1. 基本思路 WinDbg 在附加进程的时候,会注入一个线程到 C# 进程 中,注入 阅读全文
posted @ 2022-09-05 08:18 一线码农 阅读(4140) 评论(9) 推荐(37) 编辑
摘要: 一:背景 一直在用 WinDbg 调试用户态程序,并没有用它调试过 内核态,毕竟不是做驱动开发,也没有在分析 dump 中需要接触用内核态的需求,但未知的事情总觉得很酷,加上最近在看 《深入解析 Windows 操作系统》 一书,书中有不少案例需要深入到 内核态 ,所以这篇准备整理一下如何用 Win 阅读全文
posted @ 2022-09-03 11:56 一线码农 阅读(918) 评论(1) 推荐(12) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 39 下一页