• 2024-02-26.NET高级调试之sos命令输出看不懂怎么办
    一:背景1.讲故事很多.NET开发者在学习高级调试的时候,使用sos的命令输出会发现这里也看不懂那里也看不懂,比如截图中的这位朋友。.NET高级调试属于一个偏冷门的领域,国内可观测的资料比较少,所以很多东西需要你自己去探究源代码,然后用各种调试工具去验证,相关源代码如下:coreclr:
  • 2023-10-16记一次 .NET某新能源检测系统 崩溃分析
    一:背景1.讲故事前几天有位朋友微信上找到我,说他的程序会偶发性崩溃,一直找不到原因,让我帮忙看一下怎么回事,对于这种崩溃类的程序,最好的办法就是丢dump过来看一下便知,话不多说,上windbg说话。二:WinDbg分析1.到底是哪里的崩溃对于一个崩溃类的dump,寻找崩溃点非常重要,常用的命
  • 2023-07-19PerfView专题 (第十四篇): 洞察那些 C# 代码中的短命线程
    一:背景1.讲故事这篇文章源自于分析一些疑难dump的思考而产生的灵感,在dump分析中经常要寻找的一个答案就是如何找到死亡线程的生前都做了一些什么?参考如下输出:0:001>!tThreadCount:22UnstartedThread:0BackgroundThread:1PendingThread:0DeadThread:
  • 2023-01-19Windbg分析 64位系统抓32位程序的DUMP
    当你在64位Windows系统上抓32位进程的dmup文件时如果用的是64位任务管理器那么在用Windbg加载后要用!wow64exts.sw切换到X86模式下.如果不想做这步切换就要用32位的任务管
  • 2022-10-08TTD 专题 (第一篇):C# 那些短命线程都在干什么?
    一:背景1.讲故事在分析的众多dump中,经常会遇到各种奇葩的问题,仅通过dump这种快照形式还是有很多问题搞不定,而通过perfview这种粒度又太粗,很难找到问题之所在,真的很头疼,比如
  • 2022-10-05记一次 .NET 某新能源系统 线程疯涨 分析
    一:背景1.讲故事前段时间收到一个朋友的求助,说他的程序线程数疯涨,寻求如何解决。等我分析完之后,我觉得这个问题很有代表性,所以拿出来和大家分享下,还是上老工具WinDbg。二:W