我正在研究 CLRMD 库并尝试加载转储。我在这个过程和 dac 之间得到了不匹配的架构。控制台应用程序,它是创建字符串数组的 x86 应用程序。
static void Main(string[] args)
{
string[] strArray = null;
for (int i = 0; i < 100; i++)
{
strArray = new string[100];
strArray[i] = "One";
System.Threading.Thread.Sleep(1000);
Console.WriteLine(i);
}
Console.Read();
}
我使用 32Bit TaskManager 创建转储,当我加载转储时,我收到架构不匹配错误。
dataTarget.Architecture 是 Amd64 和 PointerSize 8。
但是当附加相同的应用程序进程时,dataTarget.Architecture 为 x86,Pointersize 为 4。
不知道什么时候有这个区别。我在转储时是否遗漏了一些东西。请让我知道如何将转储加载到 CLRMD
提前致谢。