Understanding String Interning, 理解字符串驻留
字符串驻留是.Net关于字符串管理的一种规则: 例如: String a = "HelloWorld"; string b = "Hello"+"World"; 这样两种相同的字符串是怎样存储的呢?难道他们是为每个String保存一个引用,...
ValueTpye boxing及虚方法重写及CallVirt指令实现解析
问题的提出,是源自Justin提出的一个case里面的一个问题,讨论了n久没得到一个答案,昨天justin周一早上一起来就又回忆起了这个问题,看来一直把这个问题放在脑子里面没有放下,佩服啊佩服 ^_^ 遂决定深入研究一番,下面是问题的提出:Boxed value typeIn C#, the val...
WinDbg+SOS:Web服务器High CPU Hang(100%)实例分析
下午,msn上面一个朋友发了一个dump文件过来,说是Web服务器的CPU使用率在100%,找不到问题在什么地方,让帮忙看看,遂让把dump文件传过来,找找问题出在哪儿。 Framework2.0,Windows 2k的OS。 加载了Dump文件之后,接着加载2.0版本的SOS扩展调试模块: .lo...
宝刀不老:Flash歌曲播放网站MP3地址隐藏机制完全破解
晚上,小落给推荐了一首非常好听的Folk名谣,说是网上很难找到的。:)给了一个地址:http://www.neocha.com/naivete/music!1657.html听了之后,很是喜欢这种风格。然后baidu了一个下载地址发给她,说是这个flash的MP3的地址,后来非要让我如何找到的….冂...
(纪念国殇).Net Hosting:托管远程线程插入及非托管dll线程插入实现
线程插入,在托管平台上面,是不能直接实现的。如果想通过托管平台在一个非托管的Process里面插入执行一段托管代码,就需要在非托管Process里面启动CLR。我们可以以此为突破口,通过直接调用CLR提供的功能接口来执行托管代码。 最终效果,是实现了非托管平台下托管代码执行的混合型线程插入。 在开发...
.Net CLR Hosting原理及实践
在开发CLR的时候,MS实际上是将CLR相关的功能作为一个COM服务实现在一个DLL里面。对这个DLL的选择,是由垫片来选择的。MS为CLR定义了一个标准的COM接口,并且为该接口和COM服务指定了GUID。虽然没有垫片mscoree.dll的实现代码,但是咱可以看看头文件….在MSCorEE头文件...
CLR引擎初始化分析
在以前的一篇叫做<深入追踪Exe加载过程>的文章里面,从clix的launch函数开始,再到CorExeMain2函数,在CorExeMain2里面有一个叫做CoInitializeEE的函数: result = CoInitializeEE(COINITEE_DEFAULT | COI...
在Visual Studio 2008的环境下Build SSCLI 2.0(ROTOR)
快速指南: 下载文件包: SSCLI 需要修改的文件包 而后在Visual Studio 2008 命令提示符下在SSCLI 2.0 根目录中运行 env.bat,而后运行buildall 即可 目标描述: 在Visual Studio 2008 + Windows XP Eng 的环境中Build...