!ndiskd.nbllog
!ndiskd.nbllog 확장은 시스템의 모든 NBL(NET_BUFFER_LIST) 활동의 로그를 표시합니다.
!ndiskd.nbllog [-stacks]
매개 변수
-스택
호출 스택을 포함합니다.
DLL
Ndiskd.dll
설명
Important!ndiskd.nbllog 를 사용하려면 디버기 대상 컴퓨터에서 NBL 추적을 사용하도록 설정해야 합니다. NBL 추적은 Windows의 모든 구성에서 기본적으로 사용하도록 설정되지 않습니다. NBL 추적을 사용하도록 설정하지 않으면 다음 코드 조각과 같이 !ndiskd에서 사용하도록 설정하는 방법에 대한 지침을 제공합니다.
0: kd> !ndiskd.nbllog
This command requires NBL tracking to be enabled on the debugee target
machine. (By default, client operating systems have level 1, and servers
have level 0). To enable, set this REG_DWORD value to a nonzero value on
the target machine and reboot the target machine:
HKLM\SYSTEM\CurrentControlSet\Services\NDIS\Parameters ! TrackNblOwner
Possible Values (features are cumulative)
* 0: Disable all tracking.
* 1: Track the most recent owner of each NBL (enables !ndiskd.pendingnbls)
* 2: Scan for leaks at runtime (use with StuckNblReaction)
* 3: Keep a full history of all activity (enables !ndiskd.nbl -log)
* 4: Take stack capture snapshots (enables !ndiskd.nbl -log -stacks)
This command requires level 3 or higher.
NBL 로그는 시스템의 네트워크 트래픽을 표시합니다. !ndiskd.netreport 는 NBL 추적 로그를 구문 분석하여 이 네트워크 트래픽을 시각적으로 표시합니다. 따라서 NBL 추적을 사용하도록 설정 하지 않으면 !ndiskd.netreport 에서 이 정보를 표시할 수 없습니다.
예제
대상 디버기 머신에서 NBL 추적을 사용하도록 설정한 후 !ndiskd.nbllog 명령을 입력하여 시스템의 모든 NBL 트래픽 로그를 확인합니다. 아래 예제와 같이 매개 변수 없이 !ndiskd.nbllog를 실행하면 출력이 200개의 이벤트로 제한되며, -force 옵션을 사용하여 명령을 다시 실행하여 우회할 수 있습니다. 이 예제에서 출력의 중간은 간결하게 설명되었습니다.
0: kd> !ndiskd.nbllog
NBLs Processor Event Detail
ffffe00bc71453f0 CPU 0 Freed
ffffe00bc7163b40 CPU 2 Allocated
ffffe00bc7163b40 CPU 2 ProtocolSent ffffe00bc5ac4880 - QoS Packet Scheduler-0000
ffffe00bc7163b40 CPU 2 FilterSent ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
ffffe00bc7163b40 CPU 2, IRQL=DPC FilterSent ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
ffffe00bc7163b40 CPU 2, IRQL=DPC SentToMiniport ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
ffffe00bc7163b40 CPU 0, IRQL=DPC MiniportSendCompleted ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
ffffe00bc7163b40 CPU 0, IRQL=DPC FilterSendCompleted ffffe00bc5ac4880 - QoS Packet Scheduler-0000
ffffe00bc7163b40 CPU 0, IRQL=DPC FilterSendCompleted send complete in NDIS, sorting to Opens
ffffe00bc7163b40 CPU 0, IRQL=DPC SendCompleted ffffe00bc5ab7c10 - TCPIP6
...
ffffe00bc6b469b0 CPU 2 Allocated
ffffe00bc6b469b0 CPU 2 Freed
ffffe00bc64a3690 CPU 2 Allocated
ffffe00bc64a3690 CPU 2 ProtocolSent ffffe00bc5ac4880 - QoS Packet Scheduler-0000
ffffe00bc64a3690 CPU 2 FilterSent ffffe00bc5ac5c70 - WFP Native MAC Layer LightWeight Filter-0000
ffffe00bc64a3690 CPU 2, IRQL=DPC FilterSent ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
ffffe00bc64a3690 CPU 2, IRQL=DPC SentToMiniport ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter
ffffe00bc3cf2d10 CPU 1 Allocated
ffffe00bc7bc6030 CPU 1 Allocated
ffffe00bc3cf2d10 CPU 1 ProtocolSent ffffe00bc5ac4880 - QoS Packet Scheduler-0000
Maximum of 200 events printed; quitting early.
Rerun with the '-force' option to bypass this limit.
!ndiskd.nbllog의 결과를 해석하는 방법에 대한 자세한 설명은 NDIS 블로그에서 !ndiskd.nbl -log를 참조하세요.