自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Flier's Sky

Just for Fun! :P

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

原创 用WinDbg探索CLR世界 [3] 跟踪方法的 JIT 过程

http://www.blogcn.com/blog/cool/main.asp?uid=flier_lu&id=1678453本来想按照 sos 的帮助文件上命令的分类逐步介绍 WinDbg 下使用 sos 调试 CLR 程序,但发现这样实在不够直观。索性改成根据我分析 CLR 的实际案例,step by step 介绍功能,这样结构上虽然混乱一点,但更加直观,也易于上手 :P前面两篇文章里

2004-04-22 14:46:00 1514

原创 内存拷贝的优化方法

http://www.blogcn.com/blog/cool/main.asp?uid=flier_lu&id=1577430http://www.blogcn.com/blog/cool/main.asp?uid=flier_lu&id=1577440在复杂的底层网络程序中,内存拷贝、字符串比较和搜索操作很容易成为性能瓶颈所在。编译器自带的此类函数虽然做了一些通用性的优化工作,但因为在使用

2004-04-22 14:46:00 2552 3

原创 .NET 1.1中预编译ASP.NET页面实现原理浅析 [1] 自动预编译机制浅析

http://flier_lu.blogone.net?id=1544105.NET 1.1中预编译ASP.NET页面实现原理浅析    MS在发布ASP.NET时的一大功能特性是,与ASP和PHP等脚本语言不同,ASP.NET实际上是一种编译型的快速网页开发环境。这使得ASP.NET在具有开发和修改的简便性的同时,不会负担效率方面的损失。实现上ASP.NET与JSP的思路类似,引擎在第一次使

2004-04-07 16:26:00 1027

原创 CLR 中匿名函数的实现原理浅析

http://flier_lu.blogone.net/?id=1397624CLR 中匿名函数的实现原理浅析    C# 2.0中提供了通过delegate实现匿名函数功能,能有效地减少用户的薄记代码工作,例如以下为引用: ...button1.Click += new EventHandler(button1_Click);...void button1_Click

2004-04-07 14:37:00 1078

原创 在用户态进行虚拟空间地址向物理空间地址的转换

http://flier_lu.blogone.net/?id=1428057    在《自动获取 NT 系统服务描述表与函数名映射表》一文中,我给出了一个从虚地址向物理地址转换的经验函数。以下为引用: PHYSICAL_ADDRESS TPhysicalMemoryMapping::LinearAddressToPhysicalAddress(LPCVOID lpVi

2004-04-05 23:34:00 1787

原创 Win32 核心 DPC 设计思想和实现思路浅析

http://flier_lu.blogone.net/?id=1397656    x86架构设计在上是基于中断思想的,因而从DOS到Win32,操作系统中大量使用中断的概念来表达异步操作的行为。但与DOS下独占的情况不同,Win32下需要由系统对多任务进行调度,因此中断响应代码必须尽可能地简单,并且尽快的将控制权交还给系统。虽然这样一来系统调度的响应速度和实现过程方便了,但还是有很多功能需

2004-04-05 22:58:00 1525

原创 C# 2.0 中Iterators的改进与实现原理浅析

http://flier_lu.blogone.net/?id=1511638    C#语言从VB中吸取了一个非常实用的foreach语句。对所有支持IEnumerable接口的类的实例,foreach语句使用统一的接口遍历其子项,使得以前冗长的for循环中繁琐的薄记工作完全由编译器自动完成。支持IEnumerable接口的类通常用一个内嵌类实现IEnumerator接口,并通过IEnume

2004-04-05 22:56:00 855

原创 Win32 调试接口设计与实现浅析 [1] 用户态调试器结构初探

http://flier_lu.blogone.net/?id=1307208Win32 调试接口设计与实现浅析    所谓调试器实际上是一个很宽泛的概念,凡是能够以某种形式监控其他程序执行过程的程序,都可以泛称为调试器。在Windows平台上,根据调试器的实现原理大概可以将之分为三类:内核态调试器、用户态调试器和伪代码调试器。    内核态调试器直接工作在操作系统内核一级,在硬件与操作系统之

2004-04-05 22:56:00 1429

原创 用WinDbg探索CLR世界 [2] 线程

http://flier_lu.blogone.net/?id=1370342[2] 线程    在配置好WinDbg之后,我们载入一个CLR程序并执行至CLR被载入,然后开始我们的CLR探索之旅。    首先,使用!threads命令看看当前CLR中有哪些线程正在执行以下为引用: 0:004> !threadsThreadCount: 2UnstartedThread

2004-04-05 22:56:00 994

原创 Win32 调试接口设计与实现浅析 [2] 调试事件

http://flier_lu.blogone.net/?id=1324316[2] 调试事件    前面说到 Win32 下的用户态调试器实际上就是一个while循环,循环体内先等待一个调试事件,然后处理之,最后将控制权交还给调试服务器,就好像一个窗口消息循环一样。调试事件的核心实际上就是一个DEBUG_EVENT结构,在WinBase.h文件中定义如下:以下为引用:

2004-04-05 22:53:00 1215

原创 用WinDbg探索CLR世界[1] - 安装与环境配置

http://flier_lu.blogone.net/?id=1270368    一直以来,我对CLR的分析都是基于MSDN、.NET Framework SDK自带文档和Rotor项目提供的源代码进行静态分析,辅以自己写的一些小例子或对Rotor的修修补补,来进行有限度的动态分析。虽然也用SoftIce跟踪过某些核心函数的机制,但感觉实在是太痛苦了,呵呵。    最近偶然之间发现我的偶像

2004-04-05 22:53:00 1232

空空如也

空空如也

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

TA关注的人

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