winDbg、kdbg 和 livekd 中 Cid 中的 C 代表什麼?

winDbg、kdbg 和 livekd 中 Cid 中的 C 代表什麼?

如果執行在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。

相關內容