【问题标题】:ClrMD: analyze dump of .NET framework process in dotnet core applicationClrMD:分析 .NET 框架进程在 dotnet 核心应用程序中的转储
【发布时间】:2019-10-06 06:26:56
【问题描述】:

我有一个使用 procdump 创建的 .NET 框架应用程序的转储。我可以创建控制台 .NET 框架 4.6.1 应用程序,安装 ClrMd nuget 包并编写此代码以开始一些检​​查:

using(var dt = DataTarget.LoadCrashDump(@"C:\temp\dump.dmp"))
{
    var rt = dt.ClrVersions.First().CreateRuntime();
    Console.WriteLine(rt.ThreadPool.TotalThreads);
}

它工作正常。

如果我使用相同的转储但在 dotnet core 2.2 控制台应用程序中执行相同的操作,我将面临异常 Could not find matching DAC for this runtime

为什么它在第一种情况下有效,而在第二种情况下无效?

【问题讨论】:

    标签: c# clrmd


    【解决方案1】:

    为了正确读取转储,ClrMD 加载一个mscordacwks.dll 匹配(或至少密切匹配)创建转储的运行时版本。由于 dotnet core 与 .NET Framework 不兼容,因此无法加载此 dll。

    【讨论】:

      猜你喜欢
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多