CLR 调试接口的架构与应用 [1] 背景资料

原创 2004年07月07日 19:59:00

http://www.blogcn.com/user8/flier_lu/index.html?id=1819166

    折腾 CLR 调试接口也有几周了,可是在将 C++ 代码移植到 C# 时总是有问题,直到刚刚才灵机一动有所突破,呵呵,总算可以开始写这个系列文章了。:D
     虽然需要实际用到 CLR 调试接口的人可能非常少,但通过对 CLR 调试接口和 Profiler 接口的了解,可以从多个截面加深对 CLR 架构的认识,而且灵活使用这两个接口可以开发出非常强大的辅助开发工具来。:D
     目前关于 CLR 调试接口方面的资料比较少,较为详细的除了.NET Framework SDK自带的两个文档(Tool Developers Guidedocs目录下的Debug.doc和DebugRef.doc)和一个例子(Tool Developers GuideSamplesdebugger)外,就只有 MSDN 杂志的上两篇文章,以及 Jon Shute 的一个 Debuggers under .NET 系列文章了。

     .NET Framework SDK 自带的 Debug.doc 文档从整体结构上介绍了 CLR 调试接口的架构;DebugRef.doc 则详细地介绍了具体的使用方法,可惜其中纰漏不少,大概是最终发布特性没有跟文档同步吧,呵呵。而 samples 目录下的那个例子,则是详尽地演示了大部分调试接口功能的使用,极具参考价值。

     MSDN 杂志2002年第11期中 Mike Pellegrino 的 Improve Your Understanding of .NET Internals by Building a Debugger for Managed Code 一文可以说是目前最为全面的调试接口介绍文章了,而且给出了详细的例子。而2001年第12期中 Matt Pietrek 的 Under the Hood 专栏文章 The .NET Profiling API and the DNProfiler Tool 虽然介绍的是 .NET Profiling API,但与调试接口环环相扣、相辅相成,是理解 CLR 架构的必读文章。

     Jon Shute老兄是 SharpDevelop 项目 CLR 调试器部分的负责人,据他说已经有一个包装好的C#版本调试器接口了,呵呵,值得期待啊。:D

     Debuggers under .NET part 1
     Debuggers under .NET part 2
     Debugging under .NET part 3

     上面提到的 SharpDevelop 项目提供了一个完全开源的 C# 开发环境,虽然目前还不太成熟,但也已初具规模了。和 ASP.NET 的 Web Matrix 都是非常优秀的 .NET 开发环境免费项目。清华出版社翻译的 《C#软件项目开发全程剖析——全面透视SharpDevelop软件的开发内幕》 一书则较为全面地介绍了 SharpDevelop 的设计与开发流程。虽然没有很深入的技术内容,但对程序的设计和开发周期有很全面的介绍,对初涉 .NET 架构程序设计和开发的朋友有相当的参考价值。

     shupi.gifscreen.width/2)this.width=screen.width/2" vspace=2 border=0>

     

CLR 调试接口的架构与应用 [2] 调试框架

  • zgqtxwd
  • zgqtxwd
  • 2008-04-24 08:45:00
  • 110

CLR 调试接口的架构与应用 [3] 调试事件

http://www.blogcn.com/user8/flier_lu/index.html?id=2042872     在上一节中简单介绍了 CLR 调试器的框架结构,其中提到 CLR 调试环境...
  • flier_lu
  • flier_lu
  • 2004-07-07 20:01:00
  • 755

关于ContextSwitchDeadlock问题

调试时, 遇到这样一个提示"检测到 ContextSwitchDeadlockMessage: CLR 无法从 COM 上下文 0x17f050 转换为 COM 上下文 0x17ee28,这种状态已持...
  • tjvictor
  • tjvictor
  • 2009-05-26 20:53:00
  • 2461

CLR Debugger使用技巧

  1.1.  中断程序的执行在本章前面讲到,调试器之所以能够在程序中设置断点,是由于符号文件的关系,而符号文件是用来保存程序中指令和源代码位置的一一对应关系的。因此微软的调试器除了提供了一般的在源代...
  • Donjuan
  • Donjuan
  • 2008-12-05 18:22:00
  • 3930

ContextSwitchDeadlock异常处理

C# ContextSwitchDeadlock 异常处理
  • jyxyscf
  • jyxyscf
  • 2017-08-17 09:20:35
  • 97

AT070TN83(40pin) 165x104原装彩屏的详细资料及使用方法,包含各项参数介绍和接口定义

  • 2010年03月25日 19:56
  • 208KB
  • 下载

CLR 中未处理异常的处置

CLR 全面透彻解析 CLR 中未处理异常的处置 Gaurav Khanna 请注意,尽管在本文的打印版本中引用了相关代码,但并没有代码可供下载。   目录 ...
  • sgzwiz
  • sgzwiz
  • 2014-11-10 14:34:06
  • 1769

新时达二代一体机调试资料

  • 2014年11月08日 09:59
  • 4.24MB
  • 下载

C#调用CLR C++ DLL异常分析

前言在使用C#调用CLR C++ DLL开发程序完成后在本机上运行正常(本机为Win8.1 64位系统),在将生成的程序复制到客户机电脑上时(Win7 32位操作系统),遇到了如下所示提示: ...
  • kwfly
  • kwfly
  • 2016-04-07 21:00:44
  • 1679

《CLR via C#》学习笔记【2】

二、生成、打包、部署和管理应用程序及类型 2.1 .NET Framework部署目标 Windows多年来一直因为不稳定和过于复杂而口碑不佳。存在所谓”DLL hell“、安装的复杂性等繁琐...
  • just0kk
  • just0kk
  • 2016-05-07 20:20:20
  • 632
收藏助手
不良信息举报
您举报文章:CLR 调试接口的架构与应用 [1] 背景资料
举报原因:
原因补充:

(最多只允许输入30个字)