3

Midapex网络开发库v2.1(更新主题:使用C#实现的FTP Server)

南桥一梦 发布于 2008-04-16 12:28 评论(50) 阅读(7557)
0

c#3.0系列:Object Initializer 和 Collection Initializer

对象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers),就是简化我们的代码,让本来几行才能写完的代码一行写完。这样在LINQ的使用中,我们才不会把一个LINQ表达式写的复杂。 Object InitializersObject In...

gjcn 发布于 2008-04-15 11:21 评论(8) 阅读(2653)
0

Windbg+Rotor:Managed Process中的各种Special Threads分析

这几天Oracle培训,数据库功力倒是没太大长进,倒是Debug,Windows架构和实现还有CLR的觉悟突飞猛进。开篇前首先3ks下rick,他把他写的一票经典的文章都发到sscli.cnblogs.com团队里面来了。Rick可是我在看雪bbs上面久仰的大牛…由于写的文章时间在创建团队的时间之前...

lbq1221119 发布于 2008-04-12 18:12 评论(11) 阅读(3476)
0

c#3.0系列:Extension Method

我们说在C#3.0中,引入了一些列新的特性,但是个人认为Extension Method这个特性是最爽的,最有创新的。它真正的解决了:在保持现有Type原封不动的情况下对其进行扩展,你可以在对Type的定义不做任何变动的情况下,为之添加所需的方法成员。下面我就来讲讲。C#3.X出来之前大家都知道ja...

gjcn 发布于 2008-04-11 13:16 评论(15) 阅读(3442)
0

c#3.0系列:Automatic Property

之前的做法:在c#3.x出来之前,相信大家已经习惯通过一个private field + public property的发式来定义和实现一个public Property。就如下面方式实现。1classperson2{3privateintage;4privatestring_name;5publ...

gjcn 发布于 2008-04-10 11:06 评论(14) 阅读(2653)
0

c#3.0系列:Anonymous Type In CLR(3.5)

我们说Anonymous Type是C# 3.0的新的特性,而没有说Anonymous Type是.NET Framework 3.5的新特性。这是因为Anonymous Type仅仅是.NET Programming Language和相应的Compiler的新引入的特征。而对于.NET Fram...

gjcn 发布于 2008-04-09 14:19 评论(9) 阅读(2428)
0

使用WinDbg+SOS及WinDbg Script寻找内存中DataTable第M行N列的值

DataTable在内存中是如何存储一张表的结构的呢?如何使用Windbg直接在内存中找到一个DataTable里面的第M列第N行的值呢?这的确是一个比较有趣的问题^_^下面的内容,主要是讲如何用windbg+sos来看看一个DataTable在内存中是如何存储的,以及寻找内存中一个DataTabl...

lbq1221119 发布于 2008-03-31 22:03 评论(18) 阅读(3501)
0

WCF从理论到实践(12):事务

Robin Zhang 发布于 2008-03-30 21:54 评论(20) 阅读(11114)
0

WinDbg+Rotor解析WinForm调用堆栈及实现

前段写过一篇文章“CLR探索系列:深入追踪托管exe加载执行过程”,在那篇文章中,主要是侧重静态代码的分析,追踪源代码的流程一步一步看是如何实现的。这次,写一篇文章,结合Windbg,从一个托管应用程序执行的调用堆栈开始,追踪其调用堆栈中的线索,以及这些托管应用程序执行中调用的功能实现,来展示托管代...

lbq1221119 发布于 2008-03-25 10:50 评论(2) 阅读(3694)
9

并发数据结构:谈谈volatile变量

Angel Lucifer 发布于 2008-03-23 23:23 评论(19) 阅读(18008)
0

探索 sscli, 开启 CLR 的大门 —— 配置环境详解

(博主:好久没有写东西了,真不知道该如何下笔,也许我的思路比较混乱,还请大家见谅。)心得: 以前我一直是做dotnet开发,对于整个clr的架构非常感兴趣。而且对整个运行环境也进行过一些分析与跟踪。在这里给希望研究CLR 内部原理以及实现的用户一个建议:sscli 不等于 DotNet Framew...

Aplo 发布于 2008-03-17 19:28 评论(6) 阅读(3886)
0

CLR 2.0 Memory Model

Angel Lucifer 发布于 2008-03-16 15:16 评论(15) 阅读(8043)
1

Object内存核心结构及实现完全剖析(MethodTable、EEClass与MethodDescChunk)

无疑,一个Object在CLR中的逻辑结构是相当复杂的。前段时间,写了一篇CLR探索系列:System.Object内存布局模型及实现研究,侧重从System.Object这个基本类的基本内存布局,实现和结构来研究了下。这是远远不够的。今天就从如何存储一个Object中的Field,Method等信...

lbq1221119 发布于 2008-03-14 19:55 评论(13) 阅读(5195)
0

Getting the right Exception Context from a Memory dump Fixed

吃饭回来,看到Share Source CLI团队的rss聚合上面Debug团队的juqiang发了一篇文章,说抓了一个minidump出现了:WARNING: Unable to verify timestamp for mscorwks.dll的错误。上次我在查看一个mini Dump的时候,n...

lbq1221119 发布于 2008-03-13 14:00 评论(1) 阅读(3187)
0

Solution of Problems in Building sscli via Visual Studio 2008

前些天,发布了一个能够在Visual Studio2005查看sscli源代码的项目文件。不过,在VS2008中编译sscli,会出现一大堆错误。这里,有幸在Jeremy Kuhne's Blog上面找到了一篇文章来解决这个问题。原文链接可以点这里。这里,时间原因就不翻译过来了,希望对sscli团队...

lbq1221119 发布于 2008-03-13 08:37 评论(4) 阅读(2008)
0

在Visual Studio 2005中打开Share Source CLI 2.0(Rotor)

我想,有过研究sscli 2.0源码经历的朋友们看到这个标题,一定挺的高兴吧。在以前参阅SSCLI2.0的源码的时候,一直用的EditPlus。感觉在整个VM或者是PAL目录下面寻找对一个类的应用或者一个方法的定义相当的不方便。经常F3搜索整个目录中文件包涵的一个字符串,而且经常一不留神按F3大盘就...

lbq1221119 发布于 2008-03-11 10:27 评论(13) 阅读(2873)
0

CLR探索系列:托管PE/COFF文件格式侧窥

一直都想写篇文章来说说那些尘封在PE/Coff文件格式下的那些事,还有Metadata和EEClass是如何表现了一个静态的PE格式文件在内存中的映射结构。在这篇文章里,我不去介绍windows下PE文件的具体格式,也不去介绍一个托管或者是非托管PE文件的加载运行方式,更加不去介绍一个PE文件里面的...

lbq1221119 发布于 2008-03-10 10:02 评论(3) 阅读(2267)
0

【开源CLI核心探索团队】sscli探索团队,诚邀请您的加入

你是否真正的了解你所认识的.NET?Rotor、Mono?垃圾收集器、类装入器、类型系统、错误报告系统、应用程序域、配件、代理支持、反射、安全性和代码管理器等等等等的架构、实现。在实现这些名词中遇到的有趣的问题和睿智的解决方案。 在对新技术的追踪和应用中,国内的技术爱好者已经能基本上跟上国外同行的步...

lbq1221119 发布于 2008-03-10 07:43 评论(90) 阅读(4172)
0

判断GC运行模式的几种方法

上次提出了一个问题:一个托管进程,如果运行在一个双核CPU的机器上,GC是运行于Server GC模式,在假设CPU没有Hyper thread功能的话,这个托管进程会有几个GC Thread?可以用调试工具来证明你的判断吗?这个问题的答案,想必很多人也知道,几个cpu就几个GC Thread。不过...

lbq1221119 发布于 2008-03-09 14:39 评论(18) 阅读(3164)
0

Quiz:who win in finally vs return?

废话就不多讲了,直接看看下面的例子。1)static int Test() { int val = 1; try { return val; } finally { val = 2; } }2)static int s_val; static int Test() { s_val = 1; try ...

gjcn 发布于 2008-03-05 11:45 评论(18) 阅读(2104)