相关文章  
  • 浅谈如何利用BartPE创建PE工具盘
  • Windows Mobile 2003 Second Edition 中 ActiveSync 编程模型的增强功能
  • 在完成所有绑定后仍然有许多要进行的操作
  • 在你的企业中管理Windows和应用程序
  • 动态加载用户控件的组件
  • 小心GDI+资源泄漏 -- 猜想 测试 应对全过程
  • 浅谈 C# 中的代码协同 (Coroutine) 执行支持
  • 在 C# 中处理结构内的数组源代码分析
  • 教你通过 Emit 实现动态生成一个类
  • 如何才能在10046event自由漫步
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    谈 WinDbg 之 InternalCall 的使用与实现2

    调试,我们经常性需要了解和分析这类函数。下面将从 CLR 内部使用与实现 InternalCall 函数的不同角度,对其做一个粗略的分析。
      
      作为一个 BCL 函数,被定义成 InternalCall 的函数使用上与普通 IL 函数没有任何区别。如同我前面《用WinDbg探索CLR世界 [3] 跟踪方法的 JIT 过程》一文中所述,它们在 MethodTable 中,最初的入口地址也被指向 mscorwks!PreStubWorker,可以通过 sos 查看之:
      
      以下为引用:
      
      0:003> !Name2EE mscorlib.dll System.String
      --------------------------------------
      MethodTable: 79b7daf8
      EEClass: 79b7de44
      Name: System.String
      
      0:003> !DumpMT -MD 79b7daf8
      EEClass : 79b7de44
      Module : 79b66000
      Name: System.String
      mdToken: 0200000f (e:windowsmicrosoft.net rameworkv1.1.4322mscorlib.dll)
      MethodTable Flags : 2000000
      Number of elements in array: 2
      Number of IFaces in IFaceMap : 4
      Interface Map : 79b7de24
      Slots in VTable : 190
      -------

    页码:[1] [2] [3] [4] [5] [6] [7] [8] [9]2页、共9页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved