09 2022 档案

摘要:一:背景 1. 讲故事 其实这个问题是前段时间有位朋友咨询我的,由于问题说的比较泛,不便作答,但想想梳理一下还是能回答一些的,这篇就来聊一聊下面这几个锁。 Interlocked AutoResetEvent / ManualResetEvent Semaphore 用户态层面我就不想说了,网上一搜 阅读全文
posted @ 2022-09-21 13:06 一线码农 阅读(3133) 评论(7) 推荐(21) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在分析他的非托管泄漏时,发现NT堆的_HEAP_ENTRY 的 Size 和 !heap 命令中的 Size 对不上,来咨询是怎么回事? 比如下面这段输出: 0:000> !heap 0000000000550000 -a Index Address Name 阅读全文
posted @ 2022-09-19 14:37 一线码农 阅读(1695) 评论(0) 推荐(8) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序出现了内存泄漏,能不能帮他看一下,这个问题还是比较经典的,加上好久没上非托管方面的东西了,这篇就和大家分享一下,话不多说,上 WinDbg 说话。 二:WinDbg 分析 1. 到底是哪里的泄漏 好的开始就是成功的一半,否则就南辕北辙 阅读全文
posted @ 2022-09-14 08:34 一线码农 阅读(2563) 评论(2) 推荐(12) 编辑
摘要:一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 😄😄😄,再次声明一下,我分析 dump 是免费的,没有某软高额的分析费用,你要问我图什么,图技术的精进。 回到 阅读全文
posted @ 2022-09-06 08:37 一线码农 阅读(1612) 评论(2) 推荐(7) 编辑
摘要:一:背景 前段时间在训练营上课的时候就有朋友提到一个问题,为什么 Windbg 附加到 C# 程序后,程序就处于中断状态了?它到底是如何实现的? 其实简而言之就是线程的远程注入,这一篇就展开说一下。 二:实现原理 1. 基本思路 WinDbg 在附加进程的时候,会注入一个线程到 C# 进程 中,注入 阅读全文
posted @ 2022-09-05 08:18 一线码农 阅读(4450) 评论(9) 推荐(38) 编辑
摘要:一:背景 一直在用 WinDbg 调试用户态程序,并没有用它调试过 内核态,毕竟不是做驱动开发,也没有在分析 dump 中需要接触用内核态的需求,但未知的事情总觉得很酷,加上最近在看 《深入解析 Windows 操作系统》 一书,书中有不少案例需要深入到 内核态 ,所以这篇准备整理一下如何用 Win 阅读全文
posted @ 2022-09-03 11:56 一线码农 阅读(971) 评论(1) 推荐(12) 编辑
摘要:一:背景 在 CLR 源码中有很多的 extern 和 extern "C" 这样的关键词,比如下面这些代码: extern size_t gc_global_mechanisms[MAX_GLOBAL_GC_MECHANISMS_COUNT]; extern DWORD g_dwHandles; 阅读全文
posted @ 2022-09-02 10:46 一线码农 阅读(898) 评论(0) 推荐(3) 编辑
摘要:一:背景 相信大家在分析 dump 时,经常会看到 WKS 和 SRV 这样的字眼,如下代码所示: 00007ffa`778a07b8 coreclr!WKS::gc_heap::segment_standby_list = 0x00000000`00000000 00007ffa`778a3870 阅读全文
posted @ 2022-09-01 12:01 一线码农 阅读(627) 评论(0) 推荐(4) 编辑

点击右上角即可分享
微信分享提示