【发布时间】:2021-08-14 14:02:08
【问题描述】:
我正在尝试分析 WinDbg x64 上 .net core 2.1 项目的转储文件,以找出应用程序中的内存泄漏。
我跑了->
.load C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.28\sos.dll
发布这个我试图运行
!verifyHeap
返回一个错误,提示找不到运行时 dll coreclr。我试着做
.loadby sos coreclr
这也给了我错误“无法找到模块 coreclr”
我的机器上有这些 SDK:
我已仔细检查,coreclr.dll 与 sos.dll 位于同一文件夹中 windbg x64 也适用于 .net core 3.1 应用程序的转储,我能够运行命令
【问题讨论】:
-
@OlivierRogier 它适用于 3.1 .net 核心项目,所以我确信我不会错过任何步骤
-
.loadby需要corecrl出现在模块列表中。检查lm是否加载。有时它可能会被重新定位并因此重命名。 -
我也怀疑你不能使用 2.1.28 来调试 2.1.816。对于 .NET 框架,它总是需要有准确的 mscordacwks 版本
标签: c# memory-leaks windbg