随笔分类 -  windbg

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要:一:背景 一直在用 WinDbg 调试用户态程序,并没有用它调试过 内核态,毕竟不是做驱动开发,也没有在分析 dump 中需要接触用内核态的需求,但未知的事情总觉得很酷,加上最近在看 《深入解析 Windows 操作系统》 一书,书中有不少案例需要深入到 内核态 ,所以这篇准备整理一下如何用 Win 阅读全文
posted @ 2022-09-03 11:56 一线码农 阅读(929) 评论(1) 推荐(12) 编辑
摘要:一:背景 1. 讲故事 前段时间遇到了一个难度比较高的 dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上 WinDBG 说话。 二:WinDbg 分析 1. 为什么会卡死 既然程序卡死,那肯定是被冻住了,所以看下主线程此时在做什 阅读全文
posted @ 2022-08-29 17:28 一线码农 阅读(1570) 评论(3) 推荐(8) 编辑
摘要:一:背景 1. 讲故事 前段时间遇到了好几起关于窗体程序的 进程加载锁 引发的 程序卡死 和 线程暴涨 问题,这种 dump 分析难度较大,主要涉及到 Windows操作系统 和 C++ 的基础知识,所以有必要简单整理和大家分享一下,上 windbg 说话。 二:WinDbg 分析 1. 主线程此时 阅读全文
posted @ 2022-08-02 17:11 一线码农 阅读(2808) 评论(0) 推荐(3) 编辑
摘要:一:背景 1. 讲故事 哈哈,再次见到物流类软件,上个月有位朋友找到我,说他的程序出现了 CPU 爆高,让我帮忙看下什么原因,由于那段时间在苦心研究 C++,分析和经验分享也就懈怠了,今天就给大家安排上。 话不多说,上 windbg 说话。 二:WinDbg 分析 1. CPU 真的爆高吗 既然说 阅读全文
posted @ 2022-07-27 15:11 一线码农 阅读(3679) 评论(4) 推荐(27) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友说他的程序 CPU 出现了暴涨现象,由于程序是买来的,所以问题就比较棘手了,那既然找到我,就想办法帮朋友找出来吧,分析下来,问题比较经典,有必要和大家做一下分享。 二:WinDbg 分析 1. CPU 真的爆高吗 一直关注这个系列的朋友应该知道,用 !tp 验 阅读全文
posted @ 2022-07-22 08:45 一线码农 阅读(1590) 评论(4) 推荐(10) 编辑
摘要:一:背景 写这一篇的目的主要是因为.NET领域内几本关于阐述GC方面的书,都是纯理论,所以懂得人自然懂,不懂得人也没法亲自验证,这一篇我就用 windbg + 源码 让大家眼见为实。 二:为什么要引入后台GC 1. 后台GC到底解决了什么问题 解决什么问题得先说有什么问题,我们知道 阻塞版GC 有一 阅读全文
posted @ 2022-07-19 08:32 一线码农 阅读(5870) 评论(2) 推荐(10) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友找到我,说他的程序内存占用比较大,寻求如何解决,截图就不发了,分析下来我感觉除了程序本身的问题之外,.NET5 在内存管理方面做的也不够好,所以有必要给大家分享一下。 二:WinDbg 分析 1. 托管还是非托管泄漏 这个还是老规矩 !address -sum 阅读全文
posted @ 2022-07-14 08:16 一线码农 阅读(4869) 评论(18) 推荐(21) 编辑
摘要:一:背景 1. 讲故事 前段时间收到一个朋友的求助,说他的程序线程数疯涨,寻求如何解决。 等我分析完之后,我觉得这个问题很有代表性,所以拿出来和大家分享下,还是上老工具 WinDbg。 二: WinDbg 分析 1. 线程真的在疯涨吗 要想查线程有没有疯涨,可以用 !t 命令看一下。 0:000:x 阅读全文
posted @ 2022-07-07 10:47 一线码农 阅读(2020) 评论(9) 推荐(10) 编辑
摘要:一:背景 1. 讲故事 前几天有位朋友在 B站 加到我,说他的程序出现了 线程数 爆高的问题,让我帮忙看一下怎么回事,截图如下: 说来也奇怪,这些天碰到了好几起关于线程数无缘无故的爆高,不过那几个问题比这一篇要复杂的多,主要涉及到非托管层面,分享这一篇的目的主要是它很有代表性,很有必要。 闲话不多说 阅读全文
posted @ 2022-07-04 17:57 一线码农 阅读(1798) 评论(5) 推荐(7) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的 web 系统 cpu 运行一段时候后就爆高了,让我帮忙看一下是怎么回事,那就看吧,声明一下,我看 dump 是免费的,主要是锤炼自己技术,没有某软工程师高额的技术分析费。 😅😅😅 闲话不多说,我们上 windbg 说话。 二:Wi 阅读全文
posted @ 2022-07-01 18:05 一线码农 阅读(1408) 评论(3) 推荐(10) 编辑
摘要:一:背景 1. 讲故事 这几个月经常被朋友问,为什么不更新这个系列了,哈哈,确实停了好久,主要还是打基础去了,分析 dump 的能力不在于会灵活使用 windbg,而是对底层知识有一个深厚的理解,比如:汇编,C, C++,Win32 Api,虚拟内存,Windows 用户态和内核态,这是我今年看的书 阅读全文
posted @ 2022-06-27 09:59 一线码农 阅读(4215) 评论(20) 推荐(34) 编辑
摘要:一:背景 1. 一个有趣的话题 最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。 namespace ConsoleApp2 { internal class Program { static Person person = n 阅读全文
posted @ 2022-06-21 08:31 一线码农 阅读(1512) 评论(5) 推荐(10) 编辑
摘要:一:背景 1. 一个很好奇的问题 我们在学习 C# 的过程中,总会听到一个词叫做 内核态 ,比如说用 C# 读写文件,会涉及到代码从 用户态 到 内核态 的切换,用 HttpClient 获取远端的数据,也会涉及到 用户态 到 内核态 的切换,那到底这是个什么样的交互流程?毕竟我们的程序是无法操控 阅读全文
posted @ 2022-06-20 09:08 一线码农 阅读(3274) 评论(5) 推荐(17) 编辑
摘要:最近在看 C++ 的方法和类模板,我就在想 C# 中也是有这个概念的,不过叫法不一样,人家叫模板,我们叫泛型,哈哈,有点意思,这一篇我们来聊聊它们底层是怎么玩的? 一:C++ 中的模板玩法 毕竟 C++ 是兼容 C 语言,而 C 是过程式的玩法,所以 C++ 就出现了两种模板类型,分别为:函数模板 阅读全文
posted @ 2022-06-17 09:56 一线码农 阅读(1321) 评论(1) 推荐(6) 编辑
摘要:最近在看 C++ 的方法重载,我就在想 C# 中的重载底层是怎么玩的,很多朋友应该知道 C 是不支持重载的,比如下面的代码就会报错。 #include <stdio.h> int say() { return 1; } int say(int i) { return i; } int main() 阅读全文
posted @ 2022-06-15 12:28 一线码农 阅读(2640) 评论(0) 推荐(10) 编辑
摘要:这几天在看 C++ 的 lambda 表达式,挺有意思,这个标准是在 C11标准 加进去的,也就是 2011 年,相比 C# 2007 还晚了个 4 年, Lambda 这东西非常好用,会上瘾,今天我们简单聊一聊。 一:语法定义 首先我们看下 C++ 语法定义格式: [capture] (param 阅读全文
posted @ 2022-06-14 17:48 一线码农 阅读(968) 评论(2) 推荐(1) 编辑
摘要:最近在看 C++ 类继承中的字段内存布局,我就很好奇 C# 中的继承链那些 private 字段都哪里去了? 在内存中是如何布局的,毕竟在子类中是无法访问的。 一:举例说明 为了方便讲述,先上一个例子: internal class Program { static void Main(string 阅读全文
posted @ 2022-06-04 09:05 一线码农 阅读(930) 评论(3) 推荐(5) 编辑
摘要:一:什么是时间旅行 简而言之就是把程序的执行流拍成vlog,这样就可以对 vlog 快进或者倒退,还可以分享给别人做进一步的分析,是不是想都不敢想。 很开心的是 windbg preview 版本中已经实现了,叫做 时间旅行调试 TTD,相比传统的 静态分析 不知道好多少倍。 为了能提起大家兴趣,我 阅读全文
posted @ 2022-05-13 09:51 一线码农 阅读(1267) 评论(0) 推荐(11) 编辑
摘要:经常在代码中看到有人将 null 赋值给引用类型,来达到让 GC 提前回收的目的,这样做真的有用吗?今天我们就来研究一下。 为了方便讲解,来一段测试代码,提前将 test1=null ,然后调用 GC.Collect() 看看是否能提前回收。 平台采用: .net5 public class Pro 阅读全文
posted @ 2022-05-11 13:55 一线码农 阅读(761) 评论(1) 推荐(7) 编辑
摘要:一:背景 1. 讲故事 年前有位朋友加微信求助,说他的程序出现了偶发性CPU爆高,寻求如何解决,截图如下: 我建议朋友用 procdump 在 cpu 高的时候连抓两个dump,这样分析起来比较稳健,朋友也如期的成功抓到,接下来就用 windbg 一起来分析下吧。 二:Windbg 分析 1. 查看 阅读全文
posted @ 2022-02-23 16:21 一线码农 阅读(4106) 评论(7) 推荐(19) 编辑

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