聊一聊 C#线程池 的线程动态注入 (中)-牛翰网

聊一聊 C#线程池 的线程动态注入 (中)

一:背景 1. 讲故事 上一篇我们用 Thread.Sleep 的方式演示了线程池饥饿场景下的动态线程注入,可以观察到大概 1s 产生 1~2 个新线程,很显然这样的增长速度扛不住上游请求对线程池的DDOS攻击,...
AOT漫谈专题(第四篇): C#程序如何编译成Native代码-牛翰网

AOT漫谈专题(第四篇): C#程序如何编译成Native代码

一:背景 1. 讲故事 大家都知道所谓的.NET Native AOT即通过AOT编译器直接将C#代码编译成机器码,大家也习惯用C/C++的编译过程来类比,都是静态编译本质上都差不多,这篇我们借助工具从宏观层面...
AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率-牛翰网

AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率

一:背景 1. 讲故事 上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊。 ...
记一次 .NET某上位机视觉程序 卡死分析-牛翰网

记一次 .NET某上位机视觉程序 卡死分析

一:背景 1. 讲故事 前段时间有位朋友找到我,说他的窗体程序在客户这边出现了卡死,让我帮忙看下怎么回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 为什么会卡...
.NET高级调试之sos命令输出看不懂怎么办-牛翰网

.NET高级调试之sos命令输出看不懂怎么办

一:背景 1. 讲故事 很多.NET开发者在学习高级调试的时候,使用sos的命令输出会发现这里也看不懂那里也看不懂,比如截图中的这位朋友。 .NET高级调试属于一个偏冷门的领域,国内可观测的资料比...
11个月前
0337
记一次 .NET某游戏后端API服务 CPU爆高分析-牛翰网

记一次 .NET某游戏后端API服务 CPU爆高分析

一:背景 1. 讲故事 前几天有位朋友找到我,说他们的API服务程序跑着跑着CPU满了降不下去,让我帮忙看下怎么回事,现在貌似民间只有我一个人专注dump分析,还是申明一下我dump分析是免费的,如...
11个月前
0407
聊一聊 C# 弱引用 底层是怎么玩的-牛翰网

聊一聊 C# 弱引用 底层是怎么玩的

一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下。 二:弱引用的玩法 1. ...
11个月前
0517
记一次 .NET某机械臂上位系统 卡死分析-牛翰网

记一次 .NET某机械臂上位系统 卡死分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序会偶发性的卡死一段时间,然后又好了,让我帮忙看下怎么回事?窗体类的程序解决起来相对来说比较简单,让朋友用procdump自动抓一个卡死...
11个月前
0367
记一次 .NET某工厂报警监控设置 崩溃分析-牛翰网

记一次 .NET某工厂报警监控设置 崩溃分析

一:背景 1. 讲故事 前些天有位朋友在微信上丢了一个崩溃的dump给我,让我帮忙看下为什么出现了崩溃,在 Windows 的事件查看器上显示的是经典的 访问违例 ,即 c0000005 错误码,不管怎么说有du...
11个月前
0667
聊一聊 .NET高级调试 内核模式堆泄露-牛翰网

聊一聊 .NET高级调试 内核模式堆泄露

一:背景 1. 讲故事 前几天有位朋友找到我,说他的机器内存在不断的上涨,但在任务管理器中查不出是哪个进程吃的内存,特别奇怪,截图如下: 在我的分析旅程中都是用户态模式的内存泄漏,像上图...
11个月前
0396