您可以使用 Gflags 來啟用、停用及設定 Windows 的物件參考追蹤功能。 每當對象參考計數器遞增或遞減時,對象參考追蹤就會記錄循序堆疊追蹤。 追蹤可協助您偵測對象參考錯誤,包括雙重取值、參考失敗,以及無法取值物件。 只有 Windows Vista 和更新版本的 Windows 才支援此功能。 如需此功能的詳細資訊,請參閱 對象參考追蹤。
啟用物件參考追蹤
在 [Gflags] 對話框中,選取 [系統登錄 ] 索引標籤或 [ 核心旗標] 索引標籤 。
在 [對象參考追蹤] 區段中,選取 [ 啟用]。
您必須將追蹤限制為具有指定集區標記的物件、由指定進程所建立的物件,或兩者。
若要將追蹤限制為具有特定集區卷標的物件,請輸入集區標籤名稱。 若要列出多個集區標籤,請使用分號 (;) 來分隔集區卷標。 當您列出多個集區標籤時,追蹤會包含具有任何指定集區標籤的物件。 集區標籤會區分大小寫。 使用 !pool 和 !poolfind 調試程式命令來判斷集區名稱。
例如,Fred;Tag1。
若要將追蹤限制為特定進程所建立的物件,請輸入進程的映像名稱。 您只能指定影像檔名稱。
當您同時指定集區標籤和進程時,追蹤會包含由具有任何指定集區標記的進程所建立的物件。
若要在追蹤物件終結之後保留追蹤,請選取 [ 永久]。
當您選取 [永久] 時,追蹤會保留到停用對象參考追蹤,或關閉或重新啟動 Windows 為止。
按兩下 [ 套用 ] 或 [ 確定]。
下列螢幕快照顯示在「Kernel Flags」索引標籤上啟用了物件參考追蹤。
此追蹤將只包含由 notepad.exe 行程建立,且具有集區標籤 Fred 或 Tag1 的物件。 因為這是運行時間 (核心旗標) 設定,因此追蹤會立即啟動。 如果是登錄設定,您必須重新啟動 Windows 以啟動追蹤。
停用對象參考追蹤
在 [Gflags] 對話框中,選取 [系統登錄 ] 索引標籤或 [ 核心旗標] 索引 標籤。物件參照追蹤只會出現在 Windows Vista 和更新版本的 Windows 中。
在 [對象參考追蹤] 區段中,清除 [ 啟用 ] 複選框。