!객체
!object 확장은 시스템 개체에 대한 정보를 표시합니다.
!object Address [Flags]
!object Path
!object 0 Name
!object -p
!object {-h|-?}
매개 변수
주소
첫 번째 인수가 0이 아닌 16진수이면 표시할 시스템 개체의 16진수 주소를 지정합니다.
플래그
명령 출력의 세부 수준을 지정합니다.
다음 값의 비트 OR로 플래그를 설정합니다.
0x0
개체 유형을 표시합니다.
0x1
개체 형식, 개체 이름 및 참조 수를 표시합니다.
0x8
개체 디렉터리의 내용 또는 기호 링크의 대상을 표시합니다. 이 플래그는 0x1 설정된 경우에만 적용됩니다.
0x10
선택적 개체 헤더를 표시합니다.
0x20
명명된 개체의 전체 경로를 표시합니다. 이 플래그는 0x1 설정된 경우에만 적용됩니다.
Flags 매개 변수는 선택 사항입니다. 기본값은 0x9.
길
첫 번째 인수가 백슬래시() 로 시작하는 경우 !object 는 이를 개체 경로 이름으로 해석합니다. 이 옵션을 사용하면 개체 관리자에서 사용하는 디렉터리 구조에 따라 디스플레이가 정렬됩니다.
이름
첫 번째 인수가 0이면 두 번째 인수는 모든 인스턴스를 표시할 시스템 개체 클래스의 이름으로 해석됩니다.
-p
개인 개체 이름 공백을 표시합니다.
{-h|-?}
이 명령에 대한 도움말을 표시합니다.
DLL
Kdexts.dll
예제
다음은 \Device 디렉터리의 경로를 !object에 전달하는 예제입니다. 출력은 \Device 디렉터리의 모든 개체를 나열합니다.
0: kd> !object \Device
Object: ffffc00b074166a0 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07416670 (new version)
HandleCount: 0 PointerCount: 224
Directory Object: ffffc00b074092e0 Name: Device
Hash Address Type Name
---- ------- ---- ----
00 ffffe0083e6a61f0 Device 00000044
ffffe0083dcc4050 Device 00000030
ffffe0083d34f050 Device NDMP2
ffffe0083bdf7060 Device NTPNP_PCI0002
...
ffffe0083b85d060 Device USBPDO-8
ffffe0083d33d050 Device USBFDO-6
...
ffffe0083bdf0060 Device NTPNP_PCI0001
USBPDO-8과 같이 나열된 개체 중 하나를 선택합니다. USBPDO-8(ffffe0083b85d060)의 주소를 !object에 전달합니다. 플래그를 0x0 설정하여 최소한의 정보를 가져옵니다.
0: kd> !object ffffe0083b85d060 0x0
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
플래그를 0x1 설정하여 동일한 개체에 대한 이름 및 참조 개수 정보를 포함합니다.
0: kd> !object ffffe0083b85d060 0x1
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
HandleCount: 0 PointerCount: 6
Directory Object: ffffc00b074166a0 Name: USBPDO-8
플래그를 0x10 설정하여 동일한 개체에 대한 선택적 헤더 정보를 가져옵니다.
0: kd> !object ffffe0083b85d060 0x10
Object: ffffe0083b85d060 Type: (ffffe0083b87df20) Device
ObjectHeader: ffffe0083b85d030 (new version)
Optional Headers:
NameInfo(ffffe0083b85d010)
다음은 Directory 개체에 대해 !object를 두 번 호출하는 예제입니다. 0x8 플래그가 설정되지 않았기 때문에 처음으로 디렉터리의 내용이 표시되지 않습니다. 두 번째로 0x8 플래그와 0x1 플래그가 모두 설정되기 때문에 디렉터리의 내용이 표시됩니다(플래그 = 0x9).
0: kd> !object ffffc00b07481d00 0x1
Object: ffffc00b07481d00 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07481cd0 (new version)
HandleCount: 0 PointerCount: 3
Directory Object: ffffc00b07481eb0 Name: Filters
0: kd> !object ffffc00b07481d00 0x9
Object: ffffc00b07481d00 Type: (ffffe0083b768690) Directory
ObjectHeader: ffffc00b07481cd0 (new version)
HandleCount: 0 PointerCount: 3
Directory Object: ffffc00b07481eb0 Name: Filters
Hash Address Type Name
---- ------- ---- ----
19 ffffe0083c5f56e0 Device FltMgrMsg
21 ffffe0083c5f5060 Device FltMgr
다음은 SymbolicLink 개체에 대해 !object를 두 번 호출하는 예제입니다. 0x8 플래그가 설정되지 않았기 때문에 처음으로 기호 링크의 대상이 표시되지 않습니다. 두 번째로, 0x8 플래그와 0x1 플래그가 모두 설정되기 때문에 기호 링크의 대상이 재생됩니다(플래그 = 0x9).
0: kd> !object ffffc00b07628fb0 0x1
Object: ffffc00b07628fb0 Type: (ffffe0083b769450) SymbolicLink
ObjectHeader: ffffc00b07628f80 (new version)
HandleCount: 0 PointerCount: 1
Directory Object: ffffc00b074166a0 Name: Ip6
0: kd> !object ffffc00b07628fb0 0x9
Object: ffffc00b07628fb0 Type: (ffffe0083b769450) SymbolicLink
ObjectHeader: ffffc00b07628f80 (new version)
HandleCount: 0 PointerCount: 1
Directory Object: ffffc00b074166a0 Name: Ip6
Target String is '\Device\Tdx'
추가 정보
개체 및 개체 관리자에 대한 자세한 내용은 Microsoft Windows SDK 설명서, WDK(Windows 드라이버 키트) 설명서 및 Microsoft Windows Internals(Mark Russinovich 및 David Solomon)를 참조하세요.