!ptov
!ptov 확장은 지정된 프로세스에 대한 전체 물리적-가상 맵을 표시합니다.
!ptov DirBase
매개 변수
DirBase
프로세스의 디렉터리 베이스를 지정합니다. 디렉터리 기반을 확인하려면 !process 명령을 사용하고 DirBase에 대해 표시된 값을 확인합니다.
DLL
Kdexts.dll
설명
예를 들어 다음과 같습니다. 먼저 .process 및 !process를 사용하여 현재 프로세스의 디렉터리 기반을 확인합니다.
1: kd> .process
Implicit process is now 852b4040
1: kd> !process 852b4040 1
PROCESS 852b4040 SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000
DirBase: 00185000 ObjectTable: 83203000 HandleCount: 663.
Image: System
...
이 경우 디렉터리 베이스는 0x00185000. !ptov에 이 주소를 전달합니다.
1: kd> !ptov 185000
X86PtoV: pagedir 185000, PAE enabled.
15e11000 10000
549e6000 20000
...
60a000 210000
40b000 211000
...
54ad3000 25f000
548d3000 260000
...
d71000 77510000
...
왼쪽 열의 숫자는 이 프로세스에 대한 매핑이 있는 각 메모리 페이지의 실제 주소입니다. 오른쪽 열의 숫자는 매핑되는 가상 주소입니다.
총 디스플레이는 매우 깁니다.
다음은 64비트 예제입니다.
3: kd> .process
Implicit process is now fffffa80`0361eb30
3: kd> !process fffffa80`0361eb30 1
PROCESS fffffa800361eb30
SessionId: none Cid: 0004 Peb: 00000000 ParentCid: 0000
DirBase: 00187000 ObjectTable: fffff8a000002870 HandleCount: 919.
Image: System
...
3: kd> !ptov 187000
Amd64PtoV: pagedir 187000
00000001`034fb000 1d0000
a757c000 1d1000
00000001`0103d000 1d2000
c041e000 1d3000
...
2ed6f000 fffff680`00001000
00000001`13939000 fffff680`00003000
ceefb000 fffff680`00008000
...
디렉터리 베이스는 가상 주소 변환에 사용되는 첫 번째 테이블의 실제 주소입니다. 이 표에는 대상 운영 체제의 비트 수 및 대상 운영 체제에 대해 PAE(물리적 주소 확장)를 사용할 수 있는지 여부에 따라 이름이 다릅니다.
64비트 Windows의 경우 디렉터리 베이스는 PML4(페이지 맵 수준 4) 테이블의 실제 주소입니다. PAE를 사용하도록 설정된 32비트 Windows의 경우 디렉터리 기반은 PDP(페이지 디렉터리 포인터) 테이블의 실제 주소입니다. PAE를 사용하지 않도록 설정된 32비트 Windows의 경우 디렉터리 Bas는 PD(페이지 디렉터리) 테이블의 실제 주소입니다.
관련 항목은 !vtop 및 가상 주소를 실제 주소로 변환을 참조하세요. 가상 주소 변환에 대한 자세한 내용은 Mark Russinovich 및 David Solomon의 Microsoft Windows Internals를 참조하세요.