共用方式為


DkmManagedHeapSampler 類別

定義

DkmManagedHeapSampler 代表 Managed 堆積中物件的取樣器。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

public ref class DkmManagedHeapSampler : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("14537042-a674-0f63-20ba-a9fab411d46a")]
public class DkmManagedHeapSampler : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("14537042-a674-0f63-20ba-a9fab411d46a")>]
type DkmManagedHeapSampler = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmManagedHeapSampler
Inherits DkmDataContainer
Implements IDisposable
繼承
DkmManagedHeapSampler
繼承
DkmManagedHeapSampler
屬性
實作

屬性

IsUnloaded

如果已針對這個對象引發 'unloaded' 事件, (範例:DkmThread::Unload 呼叫) 或對象已關閉,則傳回 true。 請注意,檢查此狀態時,請務必小心,而不需同步處理,傳回的狀態在讀取之後可能無法再精確指示。

(繼承來源 DkmDataContainer)
RuntimeInstance

DkmRuntimeInstance 類別代表載入 DkmProcess 並包含要偵錯之程式碼的執行環境。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

UniqueId

可唯一識別此 DkmManagedHeapSampler 的 Guid。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

WorkerConnection

[選擇性]指定將處理堆積取樣器作業之背景工作進程的連接。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

方法

AnalyzeDuplicateStrings()

分析堆積上找到的重複字串,而不傳回它們。 應該在物件逐步解說之後呼叫,而且在根目錄逐步解說之後永遠不會呼叫,因為程式可能已經繼續。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引進。

AnalyzeEventHandlerLeaks(String[])

分析堆積上找到的事件處理程式流失,而不傳回它們。 應該在物件逐步解說之後呼叫,而且在根目錄逐步解說之後永遠不會呼叫,因為程式可能已經繼續。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引進。

AnalyzeSparseArrays()

分析疏鬆陣列。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

Close()

關閉 DkmManagedHeapSampler 物件實例。 這會在所有元件中釋放與此對象相關聯的任何資源。 這包括跨計算機或受控/原生封送處理界限的資源。

當相關聯的 DkmRuntimeInstance 物件關閉時,會自動關閉 DkmManagedHeapSampler 物件。

這個方法只能由建立 物件的元件呼叫。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

Create(DkmRuntimeInstance, DkmDataItem)

Create 新的 DkmManagedHeapSampler 物件實例。 呼叫端負責在完成之後關閉已建立的物件。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

Create(DkmRuntimeInstance, DkmWorkerProcessConnection, DkmDataItem)

Create 新的 DkmManagedHeapSampler 物件實例。 呼叫端負責在完成之後關閉已建立的物件。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

DeferRootsAnalysis()

向堆積取樣器指出應該延遲根分析,而且應該傳回結果而不識別實時物件。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引進。

GetAddressesForDuplicatedStringValue(String)

擷取針對指定重複字串值找到的所有位址。 只針對透過 GetNextDuplicateStrings 取得的字串傳回有效的結果。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 引進。

GetDataItem<T>()

取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。

(繼承來源 DkmDataContainer)
GetNextDuplicateStrings(UInt32)

嘗試從 Managed 堆積擷取重複字串下一個要求部分的值。 在堆積逐步解說完成之前,不應呼叫 。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 引進。

GetNextEventHandlerLeaks(UInt32)

嘗試從 Managed 堆積中擷取事件處理程式實例下一個要求部分的值。 在堆積逐步解說完成之前,不應呼叫 。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引進。

GetNextEventHandlerLeaksJMC(UInt32)

嘗試擷取事件處理程序實例之下一個要求部分的值,而Managed堆積中已篩選掉的排除類型。在堆積逐步解說完成之前,不應呼叫 。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引進。

GetNextSparseArrayDetails(DkmManagedTypeId, UInt32)

嘗試擷取疏鬆數位實例物件下一個要求部分的值。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

GetNextSparseArraySummaries(UInt32)

嘗試擷取疏鬆數位摘要物件下一個要求部分的值。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

GetRoots()

從取樣堆積傳回根目錄。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

GetSampledHeapData(UInt32)

傳回串行化物件圖形數據的下一個要求部分。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

GetSampledHeapDataWithoutRoots(UInt32)

傳回串行化物件圖形數據的下一個要求部分,而不包含根資訊。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引進。

GetSampledHeapTypeStats()

傳回堆積類型統計數據。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

GetSampledHeapTypeStats176(Boolean)

傳回堆積類型統計數據,選擇性地在計數中包含無效物件。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

GetSegments()

取得堆積中的區段清單。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引進。

GetTotalBytesWastedByEventHandlerLeaks()

傳回Managed堆積上事件處理程式流失的位元組總數。 此計算與每個流失信息結構的 BytesWasted 值分開。 這是因為外洩的子樹狀結構可能會重疊,導致保留的物件加倍計數。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引進。

GetTotalBytesWastedByEventHandlerLeaksJMC()

傳回 Managed 堆積上事件處理程式洩漏的位元組總數,其中已篩選掉排除的類型。此計算與每個流失信息結構的 BytesWasted 值分開。 這是因為外洩的子樹狀結構可能會重疊,導致保留的物件加倍計數。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引進。

InitializeHeapObjectWalk(UInt32, Boolean)

初始化堆積取樣器。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

NextObjects(UInt32)

逐步解說堆積上的指定物件數目。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

NextReferences(UInt32)

逐步解說堆積上的指定參考數目。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

NextRoots(UInt32)

逐步解說堆積上的指定 GC 根目錄數目。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引進。

RemoveDataItem<T>()

從這個容器中移除 『T』 的實例。 通常不需要呼叫這個方法,因為關閉物件時,數據容器會自動清空。

(繼承來源 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

將新專案放在數據容器中。

(繼承來源 DkmDataContainer)

明確介面實作

IDisposable.Dispose()

即將加入。

適用於