!db, !dc, !dd, !dp, !dq, !du, !dw

!db, !dc, !dd, !dp, !dq, !du!dw 확장은 대상 컴퓨터의 지정된 실제 주소에 데이터를 표시합니다.

이러한 확장 명령은 d*(메모리 표시) 명령 또는 !ntsdexts.dp 확장 명령과 혼동해서는 안 됩니다.

!db [Caching] [-m] [PhysicalAddress] [L Size] 
!dc [Caching] [-m] [PhysicalAddress] [L Size] 
!dd [Caching] [-m] [PhysicalAddress] [L Size] 
!dp [Caching] [-m] [PhysicalAddress] [L Size] 
!dq [Caching] [-m] [PhysicalAddress] [L Size] 
!du [Caching] [-m] [PhysicalAddress] [L Size] 
!dw [Caching] [-m] [PhysicalAddress] [L Size] 

매개 변수

캐싱
다음 값 중 하나일 수 있습니다. 캐싱 값은 대괄호로 묶어야 합니다.

[c]
캐시된 메모리에서 이 확장을 읽게 합니다.

[uc]
이 확장이 캐시되지 않은 메모리에서 읽도록 합니다.

[wc]
이 확장이 쓰기 결합 메모리에서 읽도록 합니다.

-m
메모리를 한 번에 한 단위씩 읽도록 합니다. 예를 들어 !db -m 은 8비트 청크로 메모리를 읽고 !dw -m 은 16비트 청크로 메모리를 읽습니다. 하드웨어에서 32비트 실제 메모리 읽기를 지원하지 않는 경우 -m 옵션을 사용해야 할 수 있습니다. 이 옵션은 디스플레이의 길이나 모양에 영향을 주지 않으며 메모리 액세스 방법에만 영향을 줍니다.

PhysicalAddress
표시할 첫 번째 물리적 주소를 16진수 형식으로 지정합니다. 이 명령을 처음 사용할 때 이 명령을 생략하면 주소가 기본적으로 0으로 설정됩니다. 이후 사용을 생략하면 마지막 디스플레이가 종료된 위치에서 디스플레이가 시작됩니다.

L **** 크기
표시할 메모리 청크 수를 지정합니다. 청크의 크기는 사용되는 정확한 확장에 따라 결정됩니다.

환경

모드

커널 모드

DLL

Kext.dll

추가 정보

실제 메모리에 쓰려면 !e\* 확장을 사용합니다. 메모리 조작 개요 및 다른 메모리 관련 명령에 대한 설명은 메모리 읽기 및 쓰기를 참조하세요.

설명

이러한 확장은 각각 실제 메모리를 표시하지만 표시 형식과 기본 길이는 다릅니다.

  • !db 확장은 16진수 바이트와 해당 ASCII 문자를 표시합니다. 기본 길이는 128바이트입니다.

  • !dc 확장에는 DWORD 값과 해당 ASCII 문자가 표시됩니다. 기본 길이는 32DWORD(총 128바이트)입니다.

  • !dd 확장에는 DWORD 값이 표시됩니다. 기본 길이는 32DWORD(총 128바이트)입니다.

  • !dp 확장은 ULONG_PTR 값을 표시합니다. 명령 크기에 따라 32비트 또는 64비트 단어입니다. 기본 길이는 총 128바이트입니다.

  • !dq 확장은 ULONG64_PTR 값을 표시합니다. 32비트 단어입니다. 기본 길이는 총 128바이트입니다.

  • !du 확장에는 유니코드 문자가 표시됩니다. 기본 길이는 16자(총 32바이트)이거나 NULL 문자가 나타날 때까지입니다.

  • !dw 확장에는 WORD 값이 표시됩니다. 기본 길이는 64DWORD(총 128바이트)입니다.

따라서 크기이 동일한 두 가지 확장을 사용하면 표시되는 총 메모리 양에 차이가 발생할 가능성이 큽니다. 예를 들어 !db L 32 명령을 사용하면 32바이트가 표시되고(16진수 바이트로) !dd L 32 명령을 사용하면 128바이트가 표시됩니다(DWORD 값으로).

다음은 캐싱 특성 플래그가 필요한 예제입니다.

kd> !dc e9000
physical memory read at e9000 failed
If you know the caching attributes used for the memory,
try specifying [c], [uc] or [wc], as in !dd [c] <params>.
WARNING: Incorrect use of these flags will cause unpredictable
processor corruption. This may immediately (or at any time in
the future until reboot) result in a system hang, incorrect data
being displayed or other strange crashes and corruption.

kd> !dc [c] e9000
#   e9000 000ea002 000ea002 000ea002 000ea002 ................
#   e9010 000ea002 000ea002 000ea002 000ea002 ................