
如果執行!在windwos偵錯器中執行命令,您會得到以下格式的輸出:
PROCESS fffffa8006bff940
SessionId: 0 Cid: 03ec Peb: 7f79ae1f000 ParentCid: 02e4
DirBase: 084ed000 ObjectTable: fffff8a002c3fd80 HandleCount: <Data Not Accessible>
Image: svchost.exe
有據可查,Cid 是十六進位的 ProcessId (pid)。不過,我不明白 C 代表什麼。
答案1
它代表CLIENT_ID
。
由此MSDN 部落格文章(強調我的):
最近有人問我「Cid」欄位的真正意義是什麼,該欄位出現在核心偵錯器(kd)中的 !process 和 !thread 等命令的輸出中。雖然從實際角度來看,我知道它們代表進程 ID 和線程 ID,但我不確定 Cid 代表什麼。在搜尋過程中,我找到了一個可以回答這個問題的公共資源。Cid 是
CLIENT_ID
其縮寫,是一個未記錄的結構。
該帖子引用了原始來源未記錄的 Windows 2000 秘密:程式設計師的食譜,斯文‧B‧施賴伯 (Sven B. Schreiber)。
答案2
12 月 03ec = 1004 'c' 是該數字的最後一個十六進制數字,它不代表任何東西(好吧,12dec 本身)。
cid/pid 是 4 位元十六進位值,而不是 3。