原创 記一次 .NET 某券商論壇系統 卡死分析

一:背景 1. 講故事 前幾個月有位朋友找到我,說他們的的web程序沒有響應了,而且監控發現線程數特別高,內存也特別大,讓我幫忙看一下怎麼回事,現在回過頭來幾經波折,回味價值太濃了。 二:程序到底經歷了什麼 1. 在線程上找原因 這個程序內

原创 記一次 .NET 某工控電池檢測系統 卡死分析

一:背景 1. 講故事 前幾天有位朋友找到我,說他的窗體程序有卡死現象,讓我幫忙看下怎麼回事,解決這種問題就需要在卡死的時候抓一個dump下來,拿到dump之後就可以分析了。 二:爲什麼會卡死 1. 觀察主線程 窗體程序的卡死,需要觀察主線

原创 聊一聊 tcp/ip 在.NET故障分析的重要性

一:背景 1. 講故事 這段時間分析了幾個和網絡故障有關的.NET程序之後,真的越來越體會到計算機基礎課的重要,比如 計算機網絡 課,如果沒有對 tcpip協議 的深刻理解,解決這些問題真的很難,因爲你只能在高層做黑盒測試,你無法看到 tc

原创 記一次 .NET 某工廠無人車調度系統 線程爆高分析

一:背景 1. 講故事 前些天有位朋友找到我,說他程序中的線程數爆高,讓我幫忙看下怎麼回事,這種線程數爆高的情況找問題相對比較容易,就讓朋友丟一個dump給我,看看便知。 二:爲什麼會爆高 1. 查看託管線程 別人說的話不一定是真,得自己拿

原创 淺析 C# 控制檯的 Ctrl+C 是怎麼玩的

一:背景 1. 講故事 上一篇我們聊到了 Console 爲什麼會卡死,讀過那篇文章的朋友相信對 conhost.exe 有了一個大概的瞭解,這一篇更進一步聊一聊窗口的特殊事件 Ctrl+C 底層流轉到底是什麼樣的,爲了方便講述,讓 cha

原创 淺析 C# Console 控制檯爲什麼也會卡死

一:背景 1. 講故事 在分析旅程中,總會有幾例控制檯的意外卡死導致的生產事故,有經驗的朋友都知道,控制檯卡死一般是動了 快速編輯窗口 的緣故,截圖如下: 雖然知道緣由,但一直沒有時間探究底層原理,市面上也沒有對這塊的底層原理介紹,昨天花

原创 記一次 .NET某新能源檢測系統 崩潰分析

一:背景 1. 講故事 前幾天有位朋友微信上找到我,說他的程序會偶發性崩潰,一直找不到原因,讓我幫忙看一下怎麼回事,對於這種崩潰類的程序,最好的辦法就是丟dump過來看一下便知,話不多說,上windbg說話。 二:WinDbg 分析 1.

原创 記一次 .NET某賬本軟件 非託管泄露分析

一:背景 1. 講故事 中秋國慶長假結束,哈哈,在老家拍了很多的短視頻,有興趣的可以上B站觀看:https://space.bilibili.com/409524162 ,今天繼續給大家分享各種奇奇怪怪的.NET生產事故,希望能幫助大家在未

原创 記一次 .NET 某拍攝監控軟件 卡死分析

一:背景 1. 講故事 今天本來想寫一篇 非託管泄露 的生產事故分析,但想着昨天就上了一篇非託管文章,連着寫也沒什麼意思,換個口味吧,剛好前些天有位朋友也找到我,說他們的拍攝監控軟件卡死了,讓我幫忙分析下爲什麼會卡死,聽到這種軟件,讓我不禁

原创 記一次 .NET某新能源MES系統 非託管泄露

一:背景 1. 講故事 前些天有位朋友找到我,說他們的程序有內存泄露,跟着我的錯題集也沒找出是什麼原因,剛好手頭上有一個 7G+ 的 dump,讓我幫忙看下是怎麼回事,既然找到我了那就給他看看吧,不過他的微信頭像有點像 二道販子,不管到我這

原创 記一次 .NET 某儀器測量系統 CPU爆高分析

一:背景 1. 講故事 最近也挺奇怪,看到了兩起 CPU 爆高的案例,且誘因也是一致的,覺得有一些代表性,合併分享出來幫助大家來避坑吧,閒話不多說,直接上 windbg 分析。 二:WinDbg 分析 1. CPU 真的爆高嗎 這裏要提醒一

原创 記一次 .NET 某餐飲小程序 內存暴漲分析

一:背景 1. 講故事 前些天有位朋友找到我,說他的程序內存異常高,用 vs診斷工具 加載時間又太久,讓我幫忙看一下到底咋回事,截圖如下: 確實,如果dump文件超過 10G 之後,市面上那些可視化工具分析起來會讓你崩潰的,除了時間久之外

原创 記一次 .NET 某電力系統 內存暴漲分析

一:背景 1. 講故事 前些天有位朋友找到我,說他生產上的程序有內存暴漲情況,讓我幫忙看下怎麼回事,最簡單粗暴的方法就是讓朋友在內存暴漲的時候抓一個dump下來,看一看大概就知道咋回事了。 二:Windbg 分析 1. 到底是誰吃了內存 這

原创 Windows 虛擬地址 到底是如何映射到 物理地址 的?

一:背景 1. 講故事 我發現有很多的 .NET程序員 寫了很多年的代碼都沒弄清楚什麼是 虛擬地址,更不用談什麼是 物理地址 以及Windows是如何實現地址映射的了?這一篇我們就來聊一聊這兩者之間的聯繫。 二:地址映射研究 1. 找虛擬地

原创 一個超經典 WinForm 卡死問題的最後一次反思

一:背景 1. 講故事 在我分析的 200+ dump 中,同樣會遵循着 28原則,總有那些經典問題總是反覆的出現,有很多的朋友就是看了這篇 一個超經典 WinForm 卡死問題的再反思 找到我,說 WinDbg 攔截 System_Win