• 2024-08-09记一次 .NET某环境监测系统 崩溃分析
    一:背景1.讲故事前些天有位朋友找到我,说他们的程序崩溃了,也自己分析了下初步结果,让我帮忙再确认下,既然让我确认,那就开始dump分析之旅吧。二:WinDbg分析1.为什么会崩溃windbg有一个强大之处就是带有一个自动化的分析命令!analyze-v可以帮助我们快速的分析,输出如下:0:000
  • 2024-08-02.net 8 应用在docker容器中创建失败 Failed to create CoreCLR, HRESULT: 0x80070008
    在UAT环境中docker容器里部署.net8应用没问题,在dev环境dockerrun启动失败,并报错FailedtocreateCoreCLR,HRESULT:0x80070008以下文章解决了我遇到的问题,感谢https://www.cnblogs.com/cyq1162/p/17981333处理办法增加--security-optseccomp=unconfineddockerrun-
  • 2024-06-03Advanced .Net Debugging 9:平台互用性
    一、介绍这是我的《Advanced.NetDebugging》这个系列的第九篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第七章【互用性】。互用性包含两个方面,第一个方面就是托管代码调用COM,此情况叫做COM互用性(也叫做COMInterop);第二个方面就是托管代码调用从DLL中
  • 2024-05-28记一次 .NET某工控WPF程序被人恶搞的 卡死分析
    一:背景1.讲故事这一期程序故障除了做原理分析,还顺带吐槽一下,熟悉我的朋友都知道我分析dump是免费的,但免费不代表可以滥用我的宝贵时间,我不知道有些人故意恶搞卡死是想干嘛,不得而知,希望后面类似的事情越来越少吧!废话不多说,我们来看看是如何被恶搞的。二:WinDbg分析1.程序是如
  • 2024-04-03Advanced .Net Debugging 6:程序集加载器
    一、简介这是我的《Advanced.NetDebugging》这个系列的第六篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第四章。这章主要讲的是程序集加载器,比如:CLR加载器简介、简单的程序集加载故障、加载上下文故障、互用性与DllNotFoundException和轻量级代码生成的
  • 2024-02-26.NET高级调试之sos命令输出看不懂怎么办
    一:背景1.讲故事很多.NET开发者在学习高级调试的时候,使用sos的命令输出会发现这里也看不懂那里也看不懂,比如截图中的这位朋友。.NET高级调试属于一个偏冷门的领域,国内可观测的资料比较少,所以很多东西需要你自己去探究源代码,然后用各种调试工具去验证,相关源代码如下:coreclr:
  • 2024-01-28C# AsyncLocal 是如何实现 Thread 间传值
    一:背景1.讲故事这个问题的由来是在.NET高级调试训练营第十期分享ThreadStatic底层玩法的时候,有朋友提出了AsyncLocal是如何实现的,虽然做了口头上的表述,但总还是会不具体,所以觉得有必要用文字+图表的方式来系统的说一下这个问题。二:AsyncLocal线程间传值1.线程间传值途径在C#编
  • 2024-01-25C# AsyncLocal 是如何实现 Thread 间传值
    一:背景1.讲故事这个问题的由来是在.NET高级调试训练营第十期分享ThreadStatic底层玩法的时候,有朋友提出了AsyncLocal是如何实现的,虽然做了口头上的表述,但总还是会不具体,所以觉得有必要用文字+图表的方式来系统的说一下这个问题。二:AsyncLocal线程间传值1.线程间传值途径在
  • 2024-01-22Failed to create CoreCLR, HRESULT: 0x80070008--.net core 8 run in docker
    这几天计划打算上传微服务网关和微服务注册中心的docker镜像:Taurus.Gateway、Taurus.RegistryCenter却发现dockerhub在国内无法使用了。目前使用阿里云个人免费版来上传镜像。用.netcore8打包本地测试正常后,上传阿里云,再从虚拟机测试下载运行时出现以下问题:Failedtocre
  • 2023-09-19目标进程已退出,但未引发 CoreCLR 启动事件
    百度之多数是说运行库没有安装。https://www.cnblogs.com/lingxi-ljl/p/17082020.html运行以下命令都能找到相关版本的内容dotnet--list-sdksdotnet--list-runtimes重新创建相同版本的一个项目,可以正常启动。怀疑是net6依赖记录的json文件有问题,于是改一下项目的名称,使生
  • 2023-07-01使用火焰图分析.NET的 start-up 期间花费的时间
    本文将告诉你从“dotnetrun”到“helloworld”,如何使用PerfView来分析.NET运行时在启动期间所花费的时间。代码示例在这个示例中,我故意只关注.NET运行时在程序启动(start-up)过程中的操作,以确保运行的用户代码最少,因此只有以下的“HelloWorld”:usingSystem;namespace
  • 2023-02-06.Net7运行模型之托管Main函数的调用
    前言:.Net7的CLR最具特色的一个地方,就是运行模型。因为它主宰了整个CLR的运行过程。又因为其庞大的代码量,有的几十万行甚至百万行。所以理解起来非常不容易。本篇拆分来看
  • 2023-02-01项目运行报错:目标进程已退出,但未引发 CoreCLR 启动事件。
      项目运行报错:目标进程已退出,但未引发CoreCLR启动事件。请确保将目标进程配置为使用.NETCore。如果目标进程未运行.NETCore,则发生这种情况并不意外。 解决方
  • 2022-11-07Substring 在BCL和CLR里面搞了啥
    楔子还是做点事情,不要那么散漫。本文以简单的Substring(intstartindex,intLength)函数为例,来递进下它在托管和非托管的一些行为。以下均为个人理解,如有疏漏请指正。
  • 2022-11-02VS Code 调试 NETCore 热更新
    {//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"
  • 2022-08-21Unity 将是驱动 C# 增长的引擎吗 ?
    Unity将是驱动C#增长的引擎吗? C#在中国的采用需要一个杀手级应用的带动,那么这样的一个杀手级应用是Unity吗,我这里大胆推测采用CoreCLR的新一代完全采用C#构建
  • 2022-08-20Unity 将是驱动 C# 增长的引擎吗 ?
    C#在中国的采用需要一个杀手级应用的带动,那么这样的一个杀手级应用是Unity吗,我这里大胆推测采用CoreCLR的新一代完全采用C#构建的Unity将是这样的一个杀手级应用。Uni