您的位置:首页技术开发.Net 专栏 → .Net 2.0内存对象布局详析及与1.1变化比较

.Net 2.0内存对象布局详析及与1.1变化比较

时间:2010/2/14 18:51:00来源:本站整理作者:我要评论(0)

.Net 2.0内存对象布局详析及与1.1变化比较:

  首先找个小的C#的演示程序:

namespace CLRLayoutTest2._0
{
  class Program
  {
    static int TestStaticFields = 1221119;
    static object TestStaticObject = new object();
  
    static string TestStaticMethod()
    {
      return "Test Static Method";
    }
  
    static void Main(string[] args)
    {
      Program a = new Program();
      a.Test();
      System.Console.ReadLine();
    }
  
    public void Test()
    {
      int i = 2;
      object testObject = (object)i;
  
      System.Console.WriteLine(testObject.ToString());
      System.Console.WriteLine(TestStaticFields.ToString());
  
    }
  }
}

  好,设置好在.Net Framework 2.0的环境下给编译了。然后设置好windbg的调试环境,接着给attach上去:

0:000> !dso
OS Thread Id: 0x79c (0)
ESP/REG Object  Name
0012f3c4 013f37b8 Microsoft.Win32.SafeHandles.SafeFileHandle
0012f3d4 013f37b8 Microsoft.Win32.SafeHandles.SafeFileHandle
0012f408 013f3854 System.Byte[]
0012f40c 013f37cc System.IO.__ConsoleStream
0012f430 013f37fc System.IO.StreamReader
0012f434 013f37fc System.IO.StreamReader
0012f438 013f16e8 CLRLayoutTest2._0.Program
0012f448 013f37fc System.IO.StreamReader
0012f44c 013f3b70 System.IO.TextReader+SyncTextReader
0012f450 013f16e8 CLRLayoutTest2._0.Program
0012f460 013f3b70 System.IO.TextReader+SyncTextReader
0012f464 013f16e8 CLRLayoutTest2._0.Program
0012f46c 013f16e8 CLRLayoutTest2._0.Program
0012f478 013f16cc System.Object[]  (System.String[])
0012f534 013f16cc System.Object[]  (System.String[])
0012f6e0 013f16cc System.Object[]  (System.String[])
0012f708 013f16cc System.Object[]  (System.String[])

相关视频

    没有数据

相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 什么是.NET中的TDD?ASP.NET AJAX入门简介 WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用

人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题