• 2024-06-03Advanced .Net Debugging 9:平台互用性
    一、介绍这是我的《Advanced.NetDebugging》这个系列的第九篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第七章【互用性】。互用性包含两个方面,第一个方面就是托管代码调用COM,此情况叫做COM互用性(也叫做COMInterop);第二个方面就是托管代码调用从DLL中
  • 2024-03-19记一次 .NET某施工建模软件 卡死分析
    一:背景1.讲故事前几天有位朋友在微信上找到我,说他的软件卡死了,分析了下也不知道是咋回事,让我帮忙看一下,很多朋友都知道,我分析dump是免费的,当然也不是所有的dump我都能搞定,也只能尽自己最大能力帮助别人缩小问题范围吧,既然dump有了,接下来就开启分析之路。二:WinDbg分析1.为什
  • 2024-02-26.NET高级调试之sos命令输出看不懂怎么办
    一:背景1.讲故事很多.NET开发者在学习高级调试的时候,使用sos的命令输出会发现这里也看不懂那里也看不懂,比如截图中的这位朋友。.NET高级调试属于一个偏冷门的领域,国内可观测的资料比较少,所以很多东西需要你自己去探究源代码,然后用各种调试工具去验证,相关源代码如下:coreclr:
  • 2023-12-28记一次 .NET某股票交易软件 灵异崩溃分析
    一:背景1.讲故事在dump分析的旅程中也会碰到一些让我无法解释的灵异现象,追过这个系列的朋友应该知道,上一篇我聊过宇宙射线导致的程序崩溃,后来我又发现了一例,而这一例恰恰是高铁的列控连锁一体化程序,所以更加让我确定这是由于电离辐射干扰了计算机的数字信号导致程序的bi
  • 2022-11-07Substring 在BCL和CLR里面搞了啥
    楔子还是做点事情,不要那么散漫。本文以简单的Substring(intstartindex,intLength)函数为例,来递进下它在托管和非托管的一些行为。以下均为个人理解,如有疏漏请指正。
  • 2022-10-14记一次 .NET 某企业OA后端服务 卡死分析
    一:背景1.讲故事前段时间有位朋友微信找到我,说他生产机器上的Console服务看起来像是卡死了,也不生成日志,对方也收不到我的httpclient请求,不知道程序出现什么情况了,特来寻
  • 2022-08-24PerfView专题 (第十篇):洞察 C# 终结队列引发的内存泄漏
    一:背景C#程序内存泄漏的诱发因素有很多,但从顶层原理上来说,就是该销毁的用户根对象没有被销毁,从而导致内存中意料之外的对象无限堆积,导致内存暴涨,最终崩溃,这其中的一个