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

    谈 WinDbg 之 AppDomain 的创建过程5

    .1.4322mscorlib.dll
      
      0:003> !DumpDomain 793e83f8
      Domain: 793e83f8
      LowFrequencyHeap: 793e845c
      HighFrequencyHeap: 793e84b0
      StubHeap: 793e8504
      Name:
      
      0:003> !DumpDomain 147330
      Domain: 00147330
      LowFrequencyHeap: 00147394
      HighFrequencyHeap: 001473e8
      StubHeap: 0014743c
      Name: appdomain.exe
      Assembly: 0015c2c0 [appdomain]
      ClassLoader: 00161008
      Module Name
      00161d50 d: empappdomain.exe
      
      我们可以看到,System Domain 实际上是专门用于载入 mscorlib.dll 这个 BCL 基础库的;Shared Domain 暂时没有使用;而 Domain 0 则负责运行我们的目标 Assembly。我们可以猜测 System Domain 是 CLR 专门用来载入系统基础库的,而系统将进一步使用此 mscorlib 创建其他 AppDomain 以运行用户目标 Assembly。我们接下来看看 Rotor 的相关代码,是否能够予以印证。
      在 CLR 启动时负责加载执行引擎的 EEStartup 函数(vmceemain.cpp:206)中,可以发现此函数首先在进行基础性初始化工作后,调用 SystemDo

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

         

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

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