coreclr

教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了

杀马特。学长 韩版系。学妹 提交于 2021-01-09 07:00:02
一:背景 1. 讲故事 前几天公众号里有位兄弟看了几篇文章之后,也准备用windbg试试看,结果这一配就花了好几天,(づ╥﹏╥)づ,我想也有很多跃跃欲试的朋友在配置的时候肯定会遇到这样和那样的问题,所以我觉得有必要整理一下,让大家少走弯路。 二:一些基础概念 1. 在哪下载 现在安装windbg越来越麻烦,还要安装Windows 10 SDK,很多人就栽在这里,其实大家可以直接在网上找一键打包的windbg 6.0版本即可,才30多M,调生产调本地都很方便,顺带还可以练练SOS命令。 云盘:https://pan.baidu.com/s/1VqXVIGVHxAZVPNds1525Jg 提取码:mahg 外网:http://www.33lc.com/soft/96743.html 2. 版本问题 解压打开会有一个x64和x86文件夹,很显然,32位的程序用x86下的windbg调试,64位的程序用x64的windbg调试,如下图: 3. 其他的问题 我比较喜欢用64bit程序,所以这里使用64位的windbg。 <1> 配置微软公有符号 符号其实就是pdb文件,我们在debug模式下编译项目都会看到这个,它的作用会对dll进行打标,这样在调试时通过pdb就能看到局部变量,全局变量,行号等等其他信息,在FCL类库中的pdb文件就放在微软的公有服务器上, SRV*C:\mysymbols

龙芯.NET正式发布 开源共享与开发者共成长

早过忘川 提交于 2020-12-25 13:56:26
2020年12月19日,2020中国. NET开发者大会于苏州盛大开幕。本次大会以“开源、共享、创新”为主题,以线下城市苏州为中心,覆盖北京、上海、深圳、广州、长沙、成都、厦门、胶东等地区,是中国 .NET 开发者的大聚会,线上+线下参会人数达数十万人,覆盖城市达10+个。峰会共包含5大会场,近50场热点技术专题,数万名开发者将就各类“ .NET 开发和产品设计”相关的前沿技术话题展开深度交流。 此次开发者大会上,龙芯.NET项目及JVM负责人敖琪博士发表了《龙芯.NET到来》主题演讲,并正式发布龙芯.NET。这意味着国产龙芯已支持.NET,具备更为灵活的部署能力,也将进一步完善龙芯软件生态开发体系。会上,微软全球开发平台事业部资深副总裁Julia Liuson女士特别提到:“中国的.NET社区也积极为.NET开源项目做出了很多贡献,其中特别提一下,对龙芯平台的移植是一个非常大的工程,谢谢龙芯团队。” 此次发布的龙芯.NET 3基于.NET Core 3.1,支持该版本具备的所有主要功能,包括GC、AOT等。CoreCLR、CoreFX、ASP.NET Core等库的测试通过情况与x64/arm64相当。同时支持龙芯CPU家族,包括龙芯3A4000/3A3000/3A2000单路多路、龙芯2K1000等。支持多款操作系统,包括Loongnix、Debian、UOS、麒麟等。后续,

龙芯.NET正式发布 开源共享与开发者共成长

被刻印的时光 ゝ 提交于 2020-12-25 13:36:57
2020年12月19日,2020中国. NET开发者大会于苏州盛大开幕。本次大会以“开源、共享、创新”为主题,以线下城市苏州为中心,覆盖北京、上海、深圳、广州、长沙、成都、厦门、胶东等地区,是中国 .NET 开发者的大聚会,线上+线下参会人数达数十万人,覆盖城市达10+个。峰会共包含5大会场,近50场热点技术专题,数万名开发者将就各类“ .NET 开发和产品设计”相关的前沿技术话题展开深度交流。 此次开发者大会上,龙芯.NET项目及JVM负责人敖琪博士发表了《龙芯.NET到来》主题演讲,并正式发布龙芯.NET。这意味着国产龙芯已支持.NET,具备更为灵活的部署能力,也将进一步完善龙芯软件生态开发体系。会上,微软全球开发平台事业部资深副总裁Julia Liuson女士特别提到:“中国的.NET社区也积极为.NET开源项目做出了很多贡献,其中特别提一下,对龙芯平台的移植是一个非常大的工程,谢谢龙芯团队。” 此次发布的龙芯.NET 3基于.NET Core 3.1,支持该版本具备的所有主要功能,包括GC、AOT等。CoreCLR、CoreFX、ASP.NET Core等库的测试通过情况与x64/arm64相当。同时支持龙芯CPU家族,包括龙芯3A4000/3A3000/3A2000单路多路、龙芯2K1000等。支持多款操作系统,包括Loongnix、Debian、UOS、麒麟等。后续

被 C# 的 ThreadStatic 标记的静态变量,都存放在哪里了?

陌路散爱 提交于 2020-11-26 13:55:42
一:背景 1. 讲故事 前几天公号里有一位朋友留言说,你windbg玩的溜,能帮我分析下被 ThreadStatic 修饰的变量到底存放在哪里吗?能不能帮我挖出来????????????,其实这个问题问的挺深的,玩高级语言的朋友相信很少有接触到这个的,虽然很多朋友都知道这个特性怎么用,当然我也没特别研究这个,既然要回答这个问题,我得研究研究回答之!为了更好的普适性,先从简单的说起! 二:ThreadStatic 的用法 1. 普通的 static 变量 相信很多朋友在代码中都使用过 static 变量,它的好处多多,比如说我经常会用 static 去做一个进程级缓存,从而提高程序的性能,当然你也可以作为一个非常好的一级缓存,如下代码: public class Test { public static Dictionary<int, string> cachedDict = new Dictionary<int, string>(); } 刚才我也说到了,这是一个进程级的缓存,多个线程都看得见,所以在多线程的环境下,你需要特别注意同步的问题。要么使用锁,要么使用 ConcurrentDictionary,我觉得这也是一个思维定式,很多时候思维总是在现有基础上去修补,去亡羊补牢,而没有跳出这个思维从根基上去处理,说这么多是什么意思呢?我举一个例子: 在市面上常见的链式跟踪框架中

教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了

◇◆丶佛笑我妖孽 提交于 2020-09-30 05:39:56
一:背景 1. 讲故事 前几天公众号里有位兄弟看了几篇文章之后,也准备用windbg试试看,结果这一配就花了好几天,(づ╥﹏╥)づ,我想也有很多跃跃欲试的朋友在配置的时候肯定会遇到这样和那样的问题,所以我觉得有必要整理一下,让大家少走弯路。 二:一些基础概念 1. 在哪下载 现在安装windbg越来越麻烦,还要安装Windows 10 SDK,很多人就栽在这里,其实大家可以直接在网上找一键打包的windbg 6.0版本即可,才30多M,调生产调本地都很方便,顺带还可以练练SOS命令。 云盘: https://pan.baidu.com/s/1VqXVIGVHxAZ***ds1525Jg 提取码:mahg 外网: http://www.33lc.com/soft/96743.html 2. 版本问题 解压打开会有一个x64和x86文件夹,很显然,32位的程序用x86下的windbg调试,64位的程序用x64的windbg调试,如下图: 3. 其他的问题 我比较喜欢用64bit程序,所以这里使用64位的windbg。 <1> 配置微软公有符号 符号其实就是pdb文件,我们在debug模式下编译项目都会看到这个,它的作用会对dll进行打标,这样在调试时通过pdb就能看到局部变量,全局变量,行号等等其他信息,在FCL类库中的pdb文件就放在微软的公有服务器上,SRV C: