!ndiskd.pendingnbls
!ndiskd.pendingnbls 확장은 전송 중인 보류 중인 NCL(NET_BUFFER_LISTs)을 표시합니다.
!ndiskd.pendingnbls [-handle <x>] [-fullstack] [-verbosity <x>]
매개 변수
-핸들
NDIS 미니포트, 필터 또는 열기 핸들입니다.
-fullstack
핸들과 연결된 전체 스택에서 보류 중인 NBL을 표시합니다.
-세부 정보 표시
표시할 세부 정보 수준입니다.
DLL
Ndiskd.dll
예제
!ndiskd.pendingnbls는 NDIS 미니포트, 필터 또는 열기 핸들을 전달할 수 있습니다. 다음 일련의 예제에서는 미니포트 핸들을 사용합니다. 모든 미니포트 및 해당 미니 드라이버의 목록을 보려면 매개 변수 없이 !ndiskd.netadapter 확장을 실행합니다. 다음 예제 출력에서 핸들이 ffffe00bc3f701a0인 Microsoft 커널 디버그 네트워크 어댑터를 찾습니다. 미니 드라이버의 핸들은 ffffe00bc51b9ae0입니다.
0: kd> !ndiskd.netadapter
Driver NetAdapter Name
ffffe00bc6e12ae0 ffffe00bc6e4e1a0 Microsoft ISATAP Adapter #2
ffffe00bc51b9ae0 ffffe00bc3f701a0 Microsoft Kernel Debug Network Adapter
미니포트에 대한 보류 중인 NCL을 보려면 미니 드라이버의 SendNetBufferListsHandler에서 중단점을 설정합니다. 미니 드라이버의 핸들을 사용하여 !ndiskd.minidriver -handle -handlers 명령을 실행하여 처리기 목록을 표시한 다음 SendNetBufferListsHandler 오른쪽에 있는 "bp" 링크를 클릭합니다. 또는 명령줄에서 bp -handle 명령을 입력할 수 있습니다.
0: kd> !ndiskd.minidriver ffffe00bc51b9ae0 -handlers
HANDLERS
NDIS Handler Function pointer Symbol (if available)
InitializeHandlerEx fffff80ae9618230 bp
SetOptionsHandler fffff80ae9612800 bp
HaltHandlerEx fffff80ae9618040 bp
ShutdownHandlerEx fffff80ae96122c0 bp
CheckForHangHandlerEx fffff80ae9612810 bp
ResetHandlerEx fffff80ae9612f70 bp
PauseHandler fffff80ae9618000 bp
RestartHandler fffff80ae9618940 bp
OidRequestHandler fffff80ae9611c90 bp
CancelOidRequestHandler fffff80ae96122c0 bp
DirectOidRequestHandler [None]
CancelDirectOidRequestHandler [None]
DevicePnPEventNotifyHandler fffff80ae96189a0 bp
SendNetBufferListsHandler fffff80ae9611870 bp
ReturnNetBufferListsHandler fffff80ae9611b50 bp
CancelSendHandler fffff80ae96122c0 bp
SendNetBufferListsHandler에서 중단점을 설정한 후 g 명령을 입력하여 디버기 대상 컴퓨터가 실행되고 중단점에 도달할 수 있도록 합니다.
0: kd> bp fffff80ae9611870
0: kd> g
Breakpoint 0 hit
fffff80a`e9611870 4053 push rbx
이제 미니 드라이버의 SendNetBufferListsHandler 중단점에 도달한 후 미니포트의 핸들로 !ndiskd.pendingnbls -handle 명령을 입력하여 미니포트에 대해 보류 중인 NCL을 볼 수 있습니다.
이 예제의 디버지 대상 컴퓨터는 중단점에 도달했을 때 웹 페이지를 로드하고 있었기 때문에 트래픽이 미니포트의 데이터 경로를 통해 흐르고 있었습니다. 따라서 NBL을 보낼 보류 중이 있었습니다. 미니 드라이버에 대한 하나 이상의 NBL 처리기에 중단점을 설정한 후에도 데이터 경로에 활동이 없는 경우 보류 중인 NCL이 표시되지 않을 수 있습니다.
0: kd> !ndiskd.pendingnbls ffffe00bc3f701a0
PHASE 1/3: Found 20 NBL pool(s).
PHASE 2/3: Found 342 freed NBL(s).
Pending Nbl Currently held by
ffffe00bc5545c60 ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter [NetAdapter]
PHASE 3/3: Found 1 pending NBL(s) of 4817 total NBL(s).
Search complete.