3

I have a dump of .NET framework application created using procdump. I can create console .NET framework 4.6.1 application, install ClrMd nuget package and write this code to start some inspections:

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

It works OK.

If I do the same things with the same dump but in dotnet core 2.2 console application I face exception Could not find matching DAC for this runtime.

Why does it work in the 1st case but not in the 2nd?

Community
  • 1
  • 1
mtkachenko
  • 5,389
  • 9
  • 38
  • 68

1 Answers1

0

To properly read a dump, ClrMD loads a mscordacwks.dll matching (or at least closely matching) the runtime version the dump was created on. Since dotnet core is not compatible with .NET Framework, it is not be able to load this dll.

Markus Dresch
  • 5,290
  • 3
  • 20
  • 40