一:背景
1. 讲故事
前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Linux上的各种开源工具主要是针对 C/C++, 和 .NET 一毛钱关系都没有,说到底微软在 Linux 上的调试领域支持度还远远不够。
虽然知道分析起来难度可能会很大,但该分析还是要分析的,让朋友抓一个 dump 过来,上 WinDbg 说话。
Just So So ...
前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Linux上的各种开源工具主要是针对 C/C++, 和 .NET 一毛钱关系都没有,说到底微软在 Linux 上的调试领域支持度还远远不够。
虽然知道分析起来难度可能会很大,但该分析还是要分析的,让朋友抓一个 dump 过来,上 WinDbg 说话。
今天推荐一个针对C#动态编译库,动态编译的使用场景有很多:
1、动态代码生成:可以根据用户的输入或者系统配置动态执行C#代码,比如很多Web在线编译器,就是这个原理;
2、代码反射:可以在运行时获取、分析和操作 C# 代码的元数据信息,包括类型、方法、属性、字段等。
3、插件开发:可以动态加载和执行外部 C# 代码,从而实现插件开发和扩展程序功能。
推荐一个功能强大、易于扩展、安全可靠的开源内容管理系统,适用于各种类型和规模的网站。
MixCoreCMS是一个基于.NET Core框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件,包括文章发布、图片管理、文件管理、评论管理、标签管理等,可以满足大部分网站的需求。
集成了Google Analytics分析,以及友好的Seo功能,非常适合用于创建企业网站、内容系统、个人博客,也可以用于开发企业管理类型的系统。