我使用WinDbg分析内存转储,以便在我的Windows服务中找到内存泄漏。
!GCHandleLeaks
提供了87个句柄。
我用!do poi(...)
检查这些句柄。
每个句柄都会导致PresentationCore.dll。
示例:
Name: <CppImplementationDetails>.LTSH_CONTROL$$BY0A@E
MethodTable: 000007fef3054580
EEClass: 000007fef2d07bb0
Size: 24(0x18) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll
Fields:
None
或
Name: <CppImplementationDetails>.SBITLINEMETRICS_CONTROL$$BY0A@E
MethodTable: 000007fef3054028
EEClass: 000007fef2d07360
Size: 32(0x20) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll
Fields:
这是什么意思? 我还能做些什么来发现我的记忆泄漏?