背景:我对WinDbg不熟悉,正在尝试首次运行它。我想检查一个从运行在Windows Server 2008(x86)上的IIS 7托管的ASP.NET 4站点中获取的内存转储,并将其下载到我的本地计算机。 我安装了调试工具,第一次启动WinDbg并打开崩溃转储文件。我转到文件|符号文件路径并...
我发现"EE"对我来说是一个神奇的词。 在CLR内部,有一个"EEClass",由CLR类加载器创建。 我不知道为什么它被称为EEClass。 现在,来到SOS世界,这里有更多的EE,例如EEHeap、EEStack [-EE]、Name2EE..... 它们在这里代表着相同的意思吗?
我有以下委托对象的转储:Name: MyEventHandler MethodTable: 132648fc EEClass: 1319e2b4 Size: 32(0x20) bytes Fields: MT Field Offset ...
我正在尝试使用WinDBG分析我们生产机器之一的崩溃转储。我的问题根源似乎是我拥有不同版本的.NET框架,而生产机器上的版本不同,但我不知道如何解决这个问题。当我打开!sym noisy并运行!dlk(来自SOSEX)时,它尝试查找mscordacwks dll时出现以下错误。 0:000&...
我有一份来自生产服务器的崩溃转储,显示出了OutOfMemoryException。这里不涉及异常本身。 我碰巧运行了!dso来查看堆栈对象:0:042> !dso OS Thread Id: 0x1014 (42) ESP/REG Object Name 246eeb24 109...
我正在研究为什么一个托管进程使用了大量的内存。是否有一种方法可以在WinDbg中运行GC.Collect(3),以便我可以专注于实际的内存分配?
我正在尝试理解32位和64位处理器之间的对象大小差异。假设我有一个简单的类。class MyClass { int x; int y; } 在32位机器上,整数的大小为4个字节。如果将Syncblock(另外4个字节)添加到其中,则对象大小将为12个字节。...