共用方式為


物件參考追蹤

物件參考追蹤功能會在每次物件參考計數器遞增或遞減時記錄循序堆疊追蹤。 追蹤可協助您偵測物件參考錯誤,包括雙重取值、參考失敗,以及無法取值物件。 只有 Windows Vista 和更新版本的 Windows 才支援此功能。

如需在 [ 全域旗標 ] 對話方塊中設定物件參考追蹤功能的相關資訊,請參閱 設定物件參考追蹤。 如需在命令提示字元中設定物件參考追蹤功能的相關資訊,請參閱 GFlags 命令。 如需範例,請參閱 範例 15:使用物件參考追蹤

當您懷疑特定物件未正確參考或取值時,物件參考追蹤最有用,通常是因為集區使用量增加表示物件外泄,或進程或會話無法結束,即使其控制碼計數為零也一樣。 不同于記錄中記錄以供稍後檢閱的追蹤,物件參考追蹤的設計目的是要即時使用,而進程正在執行,而且物件正被參考和取值。 您可以使用 !obtrace 偵錯工具延伸模組,在偵錯工具中檢視物件參考追蹤。 因為此延伸模組需要指定的物件位址,所以您必須事先知道哪個物件可能是錯誤的來源。

下列規則適用于物件參考追蹤:

  • 您一次只能執行一個物件參考追蹤。

  • 因為全核心追蹤並不實用,所以您必須將追蹤限制為使用指定集區標籤所建立的物件,或限制為指定進程所建立的物件, (由影像檔名稱) 或兩者所指定。

  • 每個追蹤只能指定一個影像檔。 如果您指定影像檔案,追蹤僅限於影像所代表進程所建立的物件。 不會追蹤進程所參考但由不同進程建立的物件。

  • 您可以為每個追蹤指定最多 16 個集區標籤。 追蹤具有任何指定集區標籤的物件。

  • 如果您同時指定影像檔案和一或多個集區標籤,追蹤會受限於進程所建立的物件,並具有任何指定的集區標籤。

  • 物件參考追蹤無法追蹤啟動追蹤時已經執行的進程。 追蹤只包含開始追蹤之後啟動的進程物件。

  • 標示為追蹤的物件會追蹤,直到物件終結或停用追蹤為止。 根據預設,只有在終結物件之前,才會維護物件的追蹤,但您可以指定 「永久」追蹤 (/p) ,直到追蹤停用為止。

  • 您可以將物件參考追蹤組態儲存為登錄設定,或 (執行時間) 設定的核心旗標。 如果您有登錄和核心旗標設定,執行時間設定會優先使用,但會在您關閉或重新開機電腦時遺失。