自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mountaintai二世的运动场

要思维敏捷,要身体倍儿棒

  • 博客(21)
  • 收藏
  • 关注

原创 MSDN Webcast预告:.NET 4.0中的新特性系列课程(5):追踪CLR——使用Windows事件跟踪(ETW)观察公共语言运行时CLR(Level 300)

在最新一期的.NET 4.0新特性系列课程中,我将继续给大家介绍CLR 4.0中的一些新特性。被次课程聚焦于性能,具体信息如下: MSDN Webcast - .NET 4.0中的新特性系列课程(5):追踪CLR——使用Windows事件跟踪(ETW)观察公共语言运行时CLR(Level 300) 讲 师:       朱永泰        开始日期:  2009年8月18日 14:30中国

2009-08-02 21:55:00 1142

原创 CLR 4.0 安全模型

在公共语言运行时(CLR)过往的版本中,安全模型一直是最为复杂的模块之一,由于涉及Evidence,CAS策略等机制,难以被用户使用。在Silverlight中,CLR团队提出了三层安全级别,大大简化了安全模型,得到了很多积极的反馈。所以CLR4.0对之加以改进,希望能帮助用户开发出更为安全的应用程序。 三层安全级别及其运作机制 CLR4.0中的安全级别,从低到高排列如下: Trans

2009-07-24 08:52:00 1416

原创 IL Stub Diagnostic Tool在CodePlex上发布了!

该工具主要帮助大家诊断Interop Marshalling中间遇到的问题。它的源代码和二进制文件可以在CodePlex上下载:http://clrinterop.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29745 本文首先介绍关于Interop Marshalling的背景,然后通过一个例子来介绍IL Stub Diagnosti

2009-07-14 17:55:00 1244

原创 MSDN Webcast预告:.NET 4.0中的新特性系列课程(3):.NET 4.0 Beta1 Interop 新特性介绍 (Level 200)

本期WebCast, 我的同事和我主要介绍.NET 4.0 中和CLR Interop相关的新特性。 .NET 4.0中的新特性系列课程(3):.NET 4.0 Beta1 Interop 新特性介绍 (Level 200) 主要内容有            Stub Method Redirection(也就是Customization of COM interop stubs)

2009-06-18 00:25:00 979

原创 CLR 4 新特性 ------ 概览

.NET 4中发布了最新版本的公共语言运行时,简称CLR (Common Language Runtime) 。这个版本是CLR 2.0之后又一个新的版本,包含着CLR小组几年以来的辛勤工作。CLR上海团队计划在未来的几个月内陆续介绍其中的一些特性,本文作为一个概览,先作蜻蜓点水,抛砖引玉。也欢迎大家回复本文,告诉我们你所感兴趣的话题,我们会进一步作深入的介绍。CLR 简介CLR作为.

2009-06-06 15:42:00 1451

原创 数组Marshalling

在托管代码和本地代码之间传递数组,是interop marshaling中间比较复杂的一个问题。本文从数组的定义开始,介绍数组marshalling的三种方法,并对blittable类型等概念做进一步的讨论。当托管代码需要和本地代码互操作时,我们就进入了interop的领域。interop的场景形形色色,不变的是我们需要把数据从一个世界marshal到另一个世界。在讨论数组marshall

2009-06-01 00:37:00 2014

原创 Visual Studio 2010 和 .NET FX 4 Beta 1 发布了!

Soma的博客(http://blogs.msdn.com/somasegar/ )在早些时间宣布了这一消息,目前暂时还只是MSDN订阅者可以下载到,不过根据Soma的说法,非MSDN订阅者稍后(周三)也可以见到Beta1了。作为一个CLR(Common Language Runtime)的开发者,我们也将迎来几年以来最大的一个版本,在CLR4(属于.NET FX 4的一部分)中,你将看到形形

2009-05-19 00:31:00 1014

原创 Finalizer线程对Object生命周期的影响

这期博客的话题有些沉重,我们来讨论.net对象的生生死死。首先,要给生死下个定义。在这篇博客中,每当谈及一个对象是死了的对象,指的是用户无法再获得其引用。这个定义是个对用户友好的定义,因为有很多时候,对象还残存在托管堆上,CLR依旧可以通过一些手法来获得它(比如RCW缓存中通过SyncBlk),但是这种“生不如死”的状态不在今天的讨论范围之内。言归正传。众所周知,.NET倚仗GC管理分配在托管

2009-04-13 15:13:00 1777

原创 小览CallStack(调用栈)(三)-用调试器脚本查看调用栈信息

在这一系列之前的两篇文章中,我介绍了如何在windbg中查看调用栈的相关信息(详见小览call stack(调用栈)(一)),以及调用约定(详见小览call stack(调用栈) (二)——调用约定)。今天的这篇博客在二者的基础之上,介绍如何使用调式器脚本程序来观察调用栈。对CallStack感兴趣的朋友可以在此基础上开发更加详尽的脚本来观察CallStack的信息;对调试感兴趣的朋友则可以看一下

2009-04-12 23:59:00 1966

原创 预告:4月20日,MSDN网络广播: .Net Interop Marshalling进阶篇

4.20下午2:30~4:00,我的同事和我将在MSDN的网络广播上,就.Net Interop marshaling中比较复杂的问题,比如各式各样的string传递,数组传递展开相关讨论,欢迎大家收听。稍后将放出收听地址。

2009-04-04 16:28:00 991

原创 .NET Interop入门-P/Invoke和Reverse P/Invoke

最近在论坛上经常看到一些基本的interop的问题,给我动力写完之前的.net interop入门系列,给刚刚涉足.NET  interop的朋友们一个大体上的概念。每每谈及.NET interop,我的脑中总是出现下面一幅图: 该图代表了.net interop的四个典型场景。之前我的同事和我讨论了.NET和COM互操作的应用:在.NET中调用COM:COM Intero

2009-03-28 16:24:00 1157

原创 Silverlight3的新功能

在刚刚结束的Mix09大会上(Mix是微软面向web开发者和设计者的会议),Silverlight团队的程序经理Joe Stegman介绍了silverlight3的许多让人兴奋的新功能,摘录如下: 1. 支持更多的媒体编码格式在Silverlight3中新增加的多媒体编码格式包括H.264,AAC,MP4。Silverlight这项技术,从出生以来,就一直把对多媒体,尤其是视频的支持,放

2009-03-24 00:40:00 1267

原创 64位windows中运行托管程序

在64位windows上存在着32位和64位两个版本的clr。本文介绍如何通过clr自带的工具(ldr64.exe/corflags.exe)指定托管程序“寄宿”的clr版本,并且和大家分享笔者研究这两个工具运作机理的过程以及使用的“秘密武器”(procmon/dumpbin)。 在过去的一年中,我的工作环境从32位windows(尽管cpu是64位的)渐渐迁徙到64位windows。在6

2009-03-19 23:53:00 3596

原创 CLR Interop的开源项目

我的同事们最近在codeplex上发布了tlbimp的新版本。同时也在我们团队的博客上,第一时间里给出了介绍。参见以下链接: http://blog.csdn.net/SilverlightShanghai/archive/2009/03/13/3987754.aspx 微软越来越重视开源阵营,我们也在尝试着做一些开源项目。codeplex就是一个汇聚了微软开源项目的网站。我们CL

2009-03-15 21:49:00 1556

原创 小览call stack(调用栈) (二)——调用约定

在上一篇博客中小览call stack(调用栈) (一)中,我展示了如何在windbg中观察调用栈的相关信息:函数的返回地址,参数,返回值。这些信息都按照一定的规则存储在固定的地方。这个规则就是调用约定(calling convention)。 调用约定在计算机界不是什么新鲜的概念,已经有许多相关的文献给予详细的介绍。比较全面的介绍可以参见wikipedia上的相关页面。然而,如果你和我一

2009-03-12 23:36:00 4164 1

原创 .NET技术大会

上个星期,参加了祝成科技和我们公司联合举办的.NET技术大会,收获颇丰。 首先是看到了业界对底层技术的兴趣,由于目前正在从事CLR的开发,所以去听了张银奎老师讲的“使用WinDBG+SOS深入理解托管世界”,听众都饶有兴趣的跟随着张老师进入了WinDBG的世界。由于公共语言运行时并没有开源,所以我们在调试的时候可以借助的只有微软发布的公共symbol和SSCLI(公共语言运行时是微软对CL

2009-03-01 09:02:00 1276

原创 小览call stack(调用栈) (一)

栈在计算机领域中是个经常提到的名词,数据结构中有栈;网络传输中有协议栈。今天我们讨论的调用栈(call stack),指的是在程序的执行过程中存储函数调用信息的动态数据结构。 这个定义可能太抽象了一些,在给出具体的例子之前,请大家先思考一个问题,哪些信息是函数调用过程中所需要的?或者这么问,一个编译器,在面对一个函数的调用指令时,该生成哪些代码? 首先,函数的返回地址要保存下来。就

2009-02-08 22:29:00 4912

原创 windbg条件断点

假设源文件a.cpp如下所示:void main(){    int sum = 0;    for (int i = 0; i    {        sum += i;    }} 要在第6行下一个条件断点,当i>=6的时候断点生效,则可以用如下命令:bp `a.cpp:6` ".if(poi(i)解释如下:.if, .else是windbg条件判定命令,格式为.if(条件) {表达式1} .

2008-12-30 00:40:00 3818

原创 COM Interop入门

[引子] 在C#程序员的字典中,COM Interop意味着在C#代码中,调用COM。由于COM一度拥有着广泛的使用者,所以存在着很多COM组件。当开发者们迁徙到C#之后,如何重用这些COM组件,就是COM Interop要解决的问题。[方法] 当手捧一个COM组件后,需要分三步完成一个最简单的COM interop 使用tlbimp产生一个.net的dll模块(称为Intero

2008-04-15 23:47:00 4364

原创 perl使用多行string的语法

perl的语法非常灵活,有些不为人知的语法往往具有很强的功能。使用这些语法可以大大提高俺们coding的效率。设想这样一种情景,我们要用perl自动生成一个file,在file的头部,希望加入一个注释说明这个文件是自动生成的:# This file is automately generated by parsing the following files:#               

2008-04-14 23:20:00 5574

原创 开章小志

光很冷,夜很静。只听得到pantry里面台球落袋的声音。当然,还有俺敲打键盘的声音。好吧,我想把此刻的场景渲染成两个风华绝代的剑客持剑对视的那种千钧一发,可是事实是我坐在空调间里,惬意的爬着格子,写这个开场白。开博的原因很简单。俺们现在在做Silverlight的开发。本着了解客户,促进产品的愿望,来这个地方开个博客。对Silverlight感兴趣的朋友,也可以参照我们的team的博客。用De

2007-08-20 20:00:00 885

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除