随笔分类 -  windbg

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要:一:背景 1.讲故事 最近遇到一位朋友的程序崩溃,发现崩溃点在富编辑器 msftedit 上,这个不是重点,重点在于发现他已经开启了 页堆 ,看样子是做了最后的挣扎。 0:000> !analyze -v EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 8 阅读全文
posted @ 2022-10-07 08:29 一线码农 阅读(2776) 评论(0) 推荐(10) 编辑
摘要:一:背景 1.讲故事 在分析的众多dump中,经常会遇到各种奇葩的问题,仅通过dump这种快照形式还是有很多问题搞不定,而通过 perfview 这种粒度又太粗,很难找到问题之所在,真的很头疼,比如本篇的 短命线程 问题,参考图如下: 我们在 t2 时刻抓取的dump对查看 短命线程 毫无帮助,我根 阅读全文
posted @ 2022-10-06 08:09 一线码农 阅读(3042) 评论(4) 推荐(16) 编辑
摘要:一:背景 1. 背景 前段时间有位朋友咨询说他的程序出现了非托管内存泄漏,说里面有很多的 HEAP_BLOCK 都被标记成了 Internal 状态,而且 size 都很大, 让我帮忙看下怎么回事? 比如下面这样。 1cbea000: 42000 . 42000 [101] - busy (41fe 阅读全文
posted @ 2022-10-03 10:30 一线码农 阅读(2664) 评论(0) 推荐(8) 编辑
摘要:一:背景 1. 讲故事 其实这个问题是前段时间有位朋友咨询我的,由于问题说的比较泛,不便作答,但想想梳理一下还是能回答一些的,这篇就来聊一聊下面这几个锁。 Interlocked AutoResetEvent / ManualResetEvent Semaphore 用户态层面我就不想说了,网上一搜 阅读全文
posted @ 2022-09-21 13:06 一线码农 阅读(3123) 评论(7) 推荐(21) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在分析他的非托管泄漏时,发现NT堆的_HEAP_ENTRY 的 Size 和 !heap 命令中的 Size 对不上,来咨询是怎么回事? 比如下面这段输出: 0:000> !heap 0000000000550000 -a Index Address Name 阅读全文
posted @ 2022-09-19 14:37 一线码农 阅读(1612) 评论(0) 推荐(8) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序出现了内存泄漏,能不能帮他看一下,这个问题还是比较经典的,加上好久没上非托管方面的东西了,这篇就和大家分享一下,话不多说,上 WinDbg 说话。 二:WinDbg 分析 1. 到底是哪里的泄漏 好的开始就是成功的一半,否则就南辕北辙 阅读全文
posted @ 2022-09-14 08:34 一线码农 阅读(2510) 评论(2) 推荐(12) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 😄😄😄,再次声明一下,我分析 dump 是免费的,没有某软高额的分析费用,你要问我图什么,图技术的精进。 回到 阅读全文
posted @ 2022-09-06 08:37 一线码农 阅读(1582) 评论(1) 推荐(7) 编辑
摘要:一:背景 前段时间在训练营上课的时候就有朋友提到一个问题,为什么 Windbg 附加到 C# 程序后,程序就处于中断状态了?它到底是如何实现的? 其实简而言之就是线程的远程注入,这一篇就展开说一下。 二:实现原理 1. 基本思路 WinDbg 在附加进程的时候,会注入一个线程到 C# 进程 中,注入 阅读全文
posted @ 2022-09-05 08:18 一线码农 阅读(4377) 评论(9) 推荐(38) 编辑
摘要:一:背景 一直在用 WinDbg 调试用户态程序,并没有用它调试过 内核态,毕竟不是做驱动开发,也没有在分析 dump 中需要接触用内核态的需求,但未知的事情总觉得很酷,加上最近在看 《深入解析 Windows 操作系统》 一书,书中有不少案例需要深入到 内核态 ,所以这篇准备整理一下如何用 Win 阅读全文
posted @ 2022-09-03 11:56 一线码农 阅读(943) 评论(1) 推荐(12) 编辑
摘要:一:背景 1. 讲故事 前段时间遇到了一个难度比较高的 dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上 WinDBG 说话。 二:WinDbg 分析 1. 为什么会卡死 既然程序卡死,那肯定是被冻住了,所以看下主线程此时在做什 阅读全文
posted @ 2022-08-29 17:28 一线码农 阅读(1655) 评论(3) 推荐(8) 编辑
摘要:一:背景 1. 讲故事 前段时间遇到了好几起关于窗体程序的 进程加载锁 引发的 程序卡死 和 线程暴涨 问题,这种 dump 分析难度较大,主要涉及到 Windows操作系统 和 C++ 的基础知识,所以有必要简单整理和大家分享一下,上 windbg 说话。 二:WinDbg 分析 1. 主线程此时 阅读全文
posted @ 2022-08-02 17:11 一线码农 阅读(2843) 评论(0) 推荐(3) 编辑
摘要:一:背景 1. 讲故事 哈哈,再次见到物流类软件,上个月有位朋友找到我,说他的程序出现了 CPU 爆高,让我帮忙看下什么原因,由于那段时间在苦心研究 C++,分析和经验分享也就懈怠了,今天就给大家安排上。 话不多说,上 windbg 说话。 二:WinDbg 分析 1. CPU 真的爆高吗 既然说 阅读全文
posted @ 2022-07-27 15:11 一线码农 阅读(3719) 评论(4) 推荐(27) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友说他的程序 CPU 出现了暴涨现象,由于程序是买来的,所以问题就比较棘手了,那既然找到我,就想办法帮朋友找出来吧,分析下来,问题比较经典,有必要和大家做一下分享。 二:WinDbg 分析 1. CPU 真的爆高吗 一直关注这个系列的朋友应该知道,用 !tp 验 阅读全文
posted @ 2022-07-22 08:45 一线码农 阅读(1641) 评论(4) 推荐(10) 编辑
摘要:一:背景 写这一篇的目的主要是因为.NET领域内几本关于阐述GC方面的书,都是纯理论,所以懂得人自然懂,不懂得人也没法亲自验证,这一篇我就用 windbg + 源码 让大家眼见为实。 二:为什么要引入后台GC 1. 后台GC到底解决了什么问题 解决什么问题得先说有什么问题,我们知道 阻塞版GC 有一 阅读全文
posted @ 2022-07-19 08:32 一线码农 阅读(5901) 评论(2) 推荐(11) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友找到我,说他的程序内存占用比较大,寻求如何解决,截图就不发了,分析下来我感觉除了程序本身的问题之外,.NET5 在内存管理方面做的也不够好,所以有必要给大家分享一下。 二:WinDbg 分析 1. 托管还是非托管泄漏 这个还是老规矩 !address -sum 阅读全文
posted @ 2022-07-14 08:16 一线码农 阅读(4921) 评论(18) 推荐(21) 编辑
摘要:一:背景 1. 讲故事 前段时间收到一个朋友的求助,说他的程序线程数疯涨,寻求如何解决。 等我分析完之后,我觉得这个问题很有代表性,所以拿出来和大家分享下,还是上老工具 WinDbg。 二: WinDbg 分析 1. 线程真的在疯涨吗 要想查线程有没有疯涨,可以用 !t 命令看一下。 0:000:x 阅读全文
posted @ 2022-07-07 10:47 一线码农 阅读(2037) 评论(9) 推荐(10) 编辑
摘要:一:背景 1. 讲故事 前几天有位朋友在 B站 加到我,说他的程序出现了 线程数 爆高的问题,让我帮忙看一下怎么回事,截图如下: 说来也奇怪,这些天碰到了好几起关于线程数无缘无故的爆高,不过那几个问题比这一篇要复杂的多,主要涉及到非托管层面,分享这一篇的目的主要是它很有代表性,很有必要。 闲话不多说 阅读全文
posted @ 2022-07-04 17:57 一线码农 阅读(1824) 评论(5) 推荐(7) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的 web 系统 cpu 运行一段时候后就爆高了,让我帮忙看一下是怎么回事,那就看吧,声明一下,我看 dump 是免费的,主要是锤炼自己技术,没有某软工程师高额的技术分析费。 😅😅😅 闲话不多说,我们上 windbg 说话。 二:Wi 阅读全文
posted @ 2022-07-01 18:05 一线码农 阅读(1439) 评论(3) 推荐(10) 编辑
摘要:一:背景 1. 讲故事 这几个月经常被朋友问,为什么不更新这个系列了,哈哈,确实停了好久,主要还是打基础去了,分析 dump 的能力不在于会灵活使用 windbg,而是对底层知识有一个深厚的理解,比如:汇编,C, C++,Win32 Api,虚拟内存,Windows 用户态和内核态,这是我今年看的书 阅读全文
posted @ 2022-06-27 09:59 一线码农 阅读(4253) 评论(20) 推荐(34) 编辑
摘要:一:背景 1. 一个有趣的话题 最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。 namespace ConsoleApp2 { internal class Program { static Person person = n 阅读全文
posted @ 2022-06-21 08:31 一线码农 阅读(1523) 评论(5) 推荐(10) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页