winedbg, winedump: Extended some info printed from system info directory in minidump about the CPU.
This commit is contained in:
parent
0fc4013f7c
commit
06b414086a
@ -212,32 +212,33 @@ static enum dbg_start minidump_do_reload(struct tgt_process_minidump_data* data)
|
|||||||
dbg_printf("WineDbg starting on minidump on pid %04x\n", pid);
|
dbg_printf("WineDbg starting on minidump on pid %04x\n", pid);
|
||||||
switch (msi->ProcessorArchitecture)
|
switch (msi->ProcessorArchitecture)
|
||||||
{
|
{
|
||||||
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
||||||
str = "Unknown";
|
str = "Unknown";
|
||||||
break;
|
break;
|
||||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||||
strcpy(tmp, "Intel ");
|
strcpy(tmp, "Intel ");
|
||||||
switch (msi->ProcessorLevel)
|
switch (msi->ProcessorLevel)
|
||||||
{
|
{
|
||||||
case 3: str = "80386"; break;
|
case 3: str = "80386"; break;
|
||||||
case 4: str = "80486"; break;
|
case 4: str = "80486"; break;
|
||||||
case 5: str = "Pentium"; break;
|
case 5: str = "Pentium"; break;
|
||||||
case 6: str = "Pentium Pro/II"; break;
|
case 6: str = "Pentium Pro/II or AMD Athlon"; break;
|
||||||
|
case 15: str = "Pentium 4 or AMD Athlon64"; break;
|
||||||
default: str = "???"; break;
|
default: str = "???"; break;
|
||||||
}
|
}
|
||||||
strcat(tmp, str);
|
strcat(tmp, str);
|
||||||
if (msi->ProcessorLevel == 3 || msi->ProcessorLevel == 4)
|
if (msi->ProcessorLevel == 3 || msi->ProcessorLevel == 4)
|
||||||
{
|
{
|
||||||
if (HIWORD(msi->ProcessorRevision) == 0xFF)
|
if (HIWORD(msi->ProcessorRevision) == 0xFF)
|
||||||
sprintf(tmp + strlen(tmp), "-%c%d",
|
sprintf(tmp + strlen(tmp), " (%c%d)",
|
||||||
'A' + HIBYTE(LOWORD(msi->ProcessorRevision)),
|
'A' + HIBYTE(LOWORD(msi->ProcessorRevision)),
|
||||||
LOBYTE(LOWORD(msi->ProcessorRevision)));
|
LOBYTE(LOWORD(msi->ProcessorRevision)));
|
||||||
else
|
else
|
||||||
sprintf(tmp + strlen(tmp), "-%c%d",
|
sprintf(tmp + strlen(tmp), " (%c%d)",
|
||||||
'A' + HIWORD(msi->ProcessorRevision),
|
'A' + HIWORD(msi->ProcessorRevision),
|
||||||
LOWORD(msi->ProcessorRevision));
|
LOWORD(msi->ProcessorRevision));
|
||||||
}
|
}
|
||||||
else sprintf(tmp + strlen(tmp), "-%d.%d",
|
else sprintf(tmp + strlen(tmp), " (%d.%d)",
|
||||||
HIWORD(msi->ProcessorRevision),
|
HIWORD(msi->ProcessorRevision),
|
||||||
LOWORD(msi->ProcessorRevision));
|
LOWORD(msi->ProcessorRevision));
|
||||||
str = tmp;
|
str = tmp;
|
||||||
@ -256,7 +257,7 @@ static enum dbg_start minidump_do_reload(struct tgt_process_minidump_data* data)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
dbg_printf(" %s was running on #%d %s CPU%s",
|
dbg_printf(" %s was running on #%d %s CPU%s",
|
||||||
exec_name, msi->u.s.NumberOfProcessors, str,
|
exec_name, msi->u.s.NumberOfProcessors, str,
|
||||||
msi->u.s.NumberOfProcessors < 2 ? "" : "s");
|
msi->u.s.NumberOfProcessors < 2 ? "" : "s");
|
||||||
switch (msi->MajorVersion)
|
switch (msi->MajorVersion)
|
||||||
{
|
{
|
||||||
|
@ -249,28 +249,30 @@ void mdmp_dump(void)
|
|||||||
printf("System Information:\n");
|
printf("System Information:\n");
|
||||||
switch (msi->ProcessorArchitecture)
|
switch (msi->ProcessorArchitecture)
|
||||||
{
|
{
|
||||||
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
||||||
str = "Unknown";
|
str = "Unknown";
|
||||||
break;
|
break;
|
||||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||||
strcpy(tmp, "Intel ");
|
strcpy(tmp, "Intel ");
|
||||||
switch (msi->ProcessorLevel)
|
switch (msi->ProcessorLevel)
|
||||||
{
|
{
|
||||||
case 3: str = "80386"; break;
|
case 3: str = "80386"; break;
|
||||||
case 4: str = "80486"; break;
|
case 4: str = "80486"; break;
|
||||||
case 5: str = "Pentium"; break;
|
case 5: str = "Pentium"; break;
|
||||||
case 6: str = "Pentium Pro/II"; break;
|
case 6: str = "Pentium Pro/II or AMD Athlon"; break;
|
||||||
|
case 15: str = "Pentium 4 or AMD Athlon64"; break;
|
||||||
default: str = "???"; break;
|
default: str = "???"; break;
|
||||||
}
|
}
|
||||||
strcat(tmp, str);
|
strcat(tmp, str);
|
||||||
|
strcat(tmp, " (");
|
||||||
if (msi->ProcessorLevel == 3 || msi->ProcessorLevel == 4)
|
if (msi->ProcessorLevel == 3 || msi->ProcessorLevel == 4)
|
||||||
{
|
{
|
||||||
if (HIWORD(msi->ProcessorRevision) == 0xFF)
|
if (HIWORD(msi->ProcessorRevision) == 0xFF)
|
||||||
sprintf(tmp + strlen(tmp), "-%c%d", 'A' + HIBYTE(LOWORD(msi->ProcessorRevision)), LOBYTE(LOWORD(msi->ProcessorRevision)));
|
sprintf(tmp + strlen(tmp), "%c%d", 'A' + HIBYTE(LOWORD(msi->ProcessorRevision)), LOBYTE(LOWORD(msi->ProcessorRevision)));
|
||||||
else
|
else
|
||||||
sprintf(tmp + strlen(tmp), "-%c%d", 'A' + HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
|
sprintf(tmp + strlen(tmp), "%c%d", 'A' + HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
|
||||||
}
|
}
|
||||||
else sprintf(tmp + strlen(tmp), "-%d.%d", HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
|
else sprintf(tmp + strlen(tmp), "%d.%d", HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
|
||||||
str = tmp;
|
str = tmp;
|
||||||
break;
|
break;
|
||||||
case PROCESSOR_ARCHITECTURE_MIPS:
|
case PROCESSOR_ARCHITECTURE_MIPS:
|
||||||
@ -286,7 +288,7 @@ void mdmp_dump(void)
|
|||||||
str = "???";
|
str = "???";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
printf(" Processor: %s (#%d CPUs)\n", str, msi->u.s.NumberOfProcessors);
|
printf(" Processor: %s, #%d CPUs)\n", str, msi->u.s.NumberOfProcessors);
|
||||||
switch (msi->MajorVersion)
|
switch (msi->MajorVersion)
|
||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
@ -324,13 +326,13 @@ void mdmp_dump(void)
|
|||||||
printf(" Reserved1: %u\n", msi->u1.Reserved1);
|
printf(" Reserved1: %u\n", msi->u1.Reserved1);
|
||||||
if (msi->ProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL)
|
if (msi->ProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL)
|
||||||
{
|
{
|
||||||
printf(" x86.VendorId: %.12s\n",
|
printf(" x86.VendorId: %.12s\n",
|
||||||
(const char*)&msi->Cpu.X86CpuInfo.VendorId[0]);
|
(const char*)&msi->Cpu.X86CpuInfo.VendorId[0]);
|
||||||
printf(" x86.VersionInformation: %x\n",
|
printf(" x86.VersionInformation: %x\n",
|
||||||
msi->Cpu.X86CpuInfo.VersionInformation);
|
msi->Cpu.X86CpuInfo.VersionInformation);
|
||||||
printf(" x86.FeatureInformation: %x\n",
|
printf(" x86.FeatureInformation: %x\n",
|
||||||
msi->Cpu.X86CpuInfo.FeatureInformation);
|
msi->Cpu.X86CpuInfo.FeatureInformation);
|
||||||
printf(" x86.AMDExtendedCpuFeatures: %u\n",
|
printf(" x86.AMDExtendedCpuFeatures: %x\n",
|
||||||
msi->Cpu.X86CpuInfo.AMDExtendedCpuFeatures);
|
msi->Cpu.X86CpuInfo.AMDExtendedCpuFeatures);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user