240 发简信
IP属地:湖北
  • 所有CLR开发人员都应该了解的关于运行时异常的知识(下)

    直接使用SEH 有些情况里直接使用SEH会更合适一些。特别是,如果需要在第一次遍历(first pass - SEH异常处理流程里的第一遍处理)时需要执行某些操作时,也就是在...

  • 所有CLR开发人员都应该了解的关于运行时异常的知识(中)

    不捕捉某一个异常 常常有这种情况,代码不需要捕捉异常,但需要执行一些清理或者修正操作。虽然不总是,支持物(holders)经常用在这种场景里。在支持物(holders)不适用...

  • 所有开发人员都应该了解的关于运行时异常的知识(上)

    日期: 2005 当我们提到CLR里的“异常”,要注意一个很重要的区别。有通过如C#的try/catch/finally暴露给应用程序,并由运行时提供机制全权实现的托管异常。...

  • CLR垃圾回收的设计

    作者: Maoni Stephens (@maoni0) - 2015 附: 关于垃圾回收的信息,可以参照本文末尾资源章节里引用的垃圾回收手册一书。 组件架构 GC包含的两个...

  • CLR线程概览(下)

    同步: 托管代码 托管代码可以访问很多在System.Threading里定义的同步原语。包括操作系统原语的简单封装如:互斥(Mutex),事件(Event)和旗标(Sema...

  • CLR线程概览(上)

    托管 vs. 原生线程 托管代码在“托管线程”上执行,(托管线程)与操作系统提供的原生线程不同。原生线程是在物理机器上执行的原生代码序列;而托管线程则是在CLR虚拟机上执行的...

  • CLR简介(五)

    高阶特性 支持垃圾回收对运行时的一个深远影响是所有代码都需要做额外的记录。而类型安全也有一个重要影响,即要求对程序需要从更高的层面(CIL)来描述,即字段和函数都需要有详细的...

  • CLR简介(四)

    内存和类型安全 GC一个不怎么明显但是影响深远的功能就是内存安全。内存安全的意思很简单:只有程序只访问其分配(且没有被释放)的内存就是内存安全的。这意味着你不会有指向任意位置...

  • CLR简介(三)

    “托管代码”概念 能够执行额外记录一般在“几乎任何时刻”报告其正在使用的有效GC引用的代码,就称做 托管代码 (因为其被CLR“管理”)。不能实现这个目标的代码叫 非托管代码...

  • CLR简介(二)

    CLR的首要目标 到目前我们已经对CLR有了初步的了解,对帮助了解CLR要解决的问题非常有用。从很高的层次上讲,CLR只有一个目标: CLR的目标是使编程变得更简单。 有两个...

  • CLR简介(一)

    什么是通用语言运行时(CLR),简单来讲: CLR是一个支持多种编程语言及多语言互操作,完整的高级虚拟机。 有点拗口,而且不是很有启发性,但上面的文字是将又大又复杂的CLR的...

  • 120
    启动CLR

    前面提到在SSCLI环境里运行.NET程序的时候,执行的命令类似java程序的执行过程,即通过clix程序解释执行.net程序。这个过程看起来跟在windows环境下执行.n...

  • Login against ActiveDirectory, Boss Filter for authentification/authorization

    Login against ActiveDirectory, Boss Filter for authentification/authorization. earlier ...

  • 在SSCLI中调试托管代码

    SSCLI只实现了部分.NET调试功能,而且不支持在Visual Studio里直接调试SSCLI环境里执行的托管程序,在SSCLI里只能用其自带的cordbg.exe调试S...

  • 准备CLR源码阅读环境

    微软发布了CLR 2.0的源码,这个源码是可以直接在freebsd和windows环境下编译及运行的,请在微软 shared source cli 链接处下载,并用7zip等...

  • 用sos查看.NET对象内存布局

    前面我们图解了.NET里各种对象的内存布局,我们再来从调试器和clr源码的角度来看一下对象的内存布局。我写了一个测试程序来加深对.net对象内存布局的了解: 使用命令编译一个...

  • 120
    .NET对象的内存布局

    每个虚拟机都有它自己的对象布局,本文我们将针对sscli源码和windbg调试器来查看不同类型的.net对象布局。 在.net虚拟机里,每个对象都需要保存这些信息: 对象的类...

  • SSCLI的调试支持

    阅读源码一个比较快的手段就是在调试器里阅读,这样可以在实际运行SSCLI的过程中,通过堆栈跟踪的方式查看完整的程序执行路径。 当在SSCLI环境里执行一个托管程序的时候,堆栈...

  • SSCLI编译过程简介

    前文演示了编译SSCLI最简便的方法(在Windows下): 在“Visual Studio 2005 Command Prompt”下,进入SSCLI的根目录; 运行 en...

  • 120
    .NET对象的内存布局

    每个虚拟机都有它自己的对象布局,本文我们将针对sscli源码和windbg调试器来查看不同类型的.net对象布局。 在.net虚拟机里,每个对象都需要保存这些信息: 对象的类...