Windbg - PEB Paged Out(虚拟页面大小混乱)
Windbg - PEB Paged Out (Virtual Page Size Confusion)
谁能给我解释一下这是什么意思。 (我把有问题的具体部分加粗了)。
"Start VPN" 字段——在本例中,0x37D9BD30
——表示起始虚拟页码。这必须通过将其乘以页面大小来转换为实际地址。您可以使用 ?
(计算表达式)命令将该值乘以 0x2000,这是该示例来自的基于 Itanium 的机器的页面大小。
kd> ? 37d9bd3e*2000
Evaluate expression: 7676040298496 = 000006fb`37a7c000
然后范围的大小可以转换为字节:
kd> ? 37d9bd3e-37d9bd30+1 <-- computes the number of pages
Evaluate expression: 15 = 00000000`0000000f
kd> ? f*2000
Evaluate expression: 122880 = 00000000`0001e000
所以 ExplorerFrame.dll 从地址 0x000006Fb37A7C000
开始并且有 0x1E000
字节大。您可以使用以下方式加载其符号:
kd> .reload /f ExplorerFrame.dll=6fb`37a7c000,1e000
页面大小取决于处理器。调用 GetSystemInfo() [MSDN] gives you the page size in the field SYSTEM_INFO.dwPageSize
. Wikipedia 提供执行此操作的代码:
#include <stdio.h>
#include <windows.h>
int main(void) {
SYSTEM_INFO si;
GetSystemInfo(&si);
printf("The page size for this system is %u bytes.\n", si.dwPageSize);
return 0;
}
有关可能的页面大小,请参阅英特尔 CPU 手册。
- x86 CPUs 可能有 4k(最常见)、2M(支持 PAE)或 4M(不支持 PAE)
- x64 CPUs 可能有 4k(最常见)、2M 甚至 1G 页面。它没有 4M,因为所有 x64 CPUs 都支持 PAE
- Itanium 可能有 4k、8k、64k、256k、1M、4M、16M 或 256M 页
谁能给我解释一下这是什么意思。 (我把有问题的具体部分加粗了)。
"Start VPN" 字段——在本例中,0x37D9BD30
——表示起始虚拟页码。这必须通过将其乘以页面大小来转换为实际地址。您可以使用 ?
(计算表达式)命令将该值乘以 0x2000,这是该示例来自的基于 Itanium 的机器的页面大小。
kd> ? 37d9bd3e*2000
Evaluate expression: 7676040298496 = 000006fb`37a7c000
然后范围的大小可以转换为字节:
kd> ? 37d9bd3e-37d9bd30+1 <-- computes the number of pages
Evaluate expression: 15 = 00000000`0000000f
kd> ? f*2000
Evaluate expression: 122880 = 00000000`0001e000
所以 ExplorerFrame.dll 从地址 0x000006Fb37A7C000
开始并且有 0x1E000
字节大。您可以使用以下方式加载其符号:
kd> .reload /f ExplorerFrame.dll=6fb`37a7c000,1e000
页面大小取决于处理器。调用 GetSystemInfo() [MSDN] gives you the page size in the field SYSTEM_INFO.dwPageSize
. Wikipedia 提供执行此操作的代码:
#include <stdio.h>
#include <windows.h>
int main(void) {
SYSTEM_INFO si;
GetSystemInfo(&si);
printf("The page size for this system is %u bytes.\n", si.dwPageSize);
return 0;
}
有关可能的页面大小,请参阅英特尔 CPU 手册。
- x86 CPUs 可能有 4k(最常见)、2M(支持 PAE)或 4M(不支持 PAE)
- x64 CPUs 可能有 4k(最常见)、2M 甚至 1G 页面。它没有 4M,因为所有 x64 CPUs 都支持 PAE
- Itanium 可能有 4k、8k、64k、256k、1M、4M、16M 或 256M 页