!ndiskd.ndisrwlock
!ndiskd.ndisrwlock 延伸模組會顯示NDIS_RW_LOCK_EX鎖定結構的相關信息。
!ndiskd.ndisrwlock -handle <x>
參數
-處理
必要。 鎖定結構的句柄。
DLL
Ndiskd.dll
範例
如果您建立自己的 RW 鎖定,而且想要檢查它,請使用 !ndiskd.ndisrwlock 擴充功能。 若要取得 RW 鎖定的句柄,請使用 poi 命令來取值驅動程式鎖定的位址。 下列代碼段示範如何查看範例時 TCIPIP 通訊協定所使用的鎖定。
0: kd> !ndiskd.ndisrwlock poi(tcpip!gAleHashtableLock)
NDIS READ-WRITE LOCK
Allocated by [NDIS generic object]
Exclusive access Not acquired
Read-only access 0 references
Set a breakpoint on acquire/release
若要觀察使用此 RW 鎖定的驅動程式,請按下 RW 鎖定詳細資料底部的 [在取得/發行時設定斷點] 連結。 設定斷點之後,請輸入 g 命令,讓偵錯者機器執行並叫用斷點。
0: kd> ba r4 ffffe00bc3fc22f8
0: kd> g
Breakpoint 0 hit
nt!KeTestSpinLock+0x3:
fffff802`0d69eb53 4885c0 test rax,rax
現在您可以重新執行相同的 !ndiskd.ndisrwlock 命令,以查看此 RW 鎖定具有一個只讀存取參考。
0: kd> !ndiskd.ndisrwlock poi(tcpip!gAleHashtableLock)
NDIS READ-WRITE LOCK
Allocated by [NDIS generic object]
Exclusive access Not acquired
Read-only access 1 reference
Set a breakpoint on acquire/release