分类分类
关注+2010-02-14作者:
.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[])
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论