次の方法で共有


DkmManagedHeapSampler クラス

定義

DkmManagedHeapSampler は、マネージド ヒープ内のオブジェクトのサンプラーを表します。

この 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()

ヒープで見つかった重複する文字列を、返さずに分析します。 オブジェクトのウォーク後に呼び出す必要があります。また、プロセスが再開された可能性があるため、ルートのウォーク後に呼び出す必要はありません。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) で導入されました。

AnalyzeEventHandlerLeaks(String[])

ヒープで見つかったイベント ハンドラー リークを、返さずに分析します。 オブジェクトのウォーク後に呼び出す必要があります。また、プロセスが再開された可能性があるため、ルートのウォーク後に呼び出す必要はありません。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) で導入されました。

AnalyzeSparseArrays()

スパース配列を分析します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) で導入されました。

Close()

DkmManagedHeapSampler オブジェクト インスタンスを閉じます。 これにより、すべてのコンポーネントにわたって、このオブジェクトに関連付けられているすべてのリソースが解放されます。 これには、コンピューターまたはマネージド/ネイティブマーシャリング境界を越えたリソースが含まれます。

DkmManagedHeapSampler オブジェクトは、関連付けられている DkmRuntimeInstance オブジェクトが閉じられると自動的に閉じられます。

このメソッドは、 オブジェクトを作成したコンポーネントによってのみ呼び出されます。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

Create(DkmRuntimeInstance, DkmDataItem)

新しい DkmManagedHeapSampler オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後に閉じる役割を担います。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

Create(DkmRuntimeInstance, DkmWorkerProcessConnection, DkmDataItem)

新しい DkmManagedHeapSampler オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後に閉じる役割を担います。

この API は、Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) で導入されました。

DeferRootsAnalysis()

ルート分析を遅延させる必要があり、ライブ オブジェクトを識別せずに結果を返す必要があることをヒープ サンプラーに示します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) で導入されました。

GetAddressesForDuplicatedStringValue(String)

指定された重複する文字列値に対して見つかったすべてのアドレスを取得します。 GetNextDuplicateStrings を使用して取得された文字列の有効な結果のみを返します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) で導入されました。

GetDataItem<T>()

このコンテナー インスタンスに追加された 'T' のインスタンスを取得します。 このコンテナーに 'T' が含まれていない場合、この関数は null を返します。

(継承元 DkmDataContainer)
GetNextDuplicateStrings(UInt32)

マネージド ヒープから、重複する文字列の次に要求された部分の値の取得を試みます。 ヒープ ウォークが完了する前に を呼び出さないでください。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) で導入されました。

GetNextEventHandlerLeaks(UInt32)

マネージド ヒープからイベント ハンドラー リークのインスタンスの次に要求された部分の値を取得しようとします。 ヒープ ウォークが完了する前に を呼び出さないでください。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) で導入されました。

GetNextEventHandlerLeaksJMC(UInt32)

除外された型が除外されたマネージド ヒープから、イベント ハンドラー リークのインスタンスの次に要求された部分の値を取得しようとします。ヒープ ウォークが完了する前に を呼び出さないでください。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) で導入されました。

GetNextSparseArrayDetails(DkmManagedTypeId, UInt32)

スパース配列インスタンス オブジェクトの次に要求された部分の値の取得を試みます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) で導入されました。

GetNextSparseArraySummaries(UInt32)

スパース配列サマリー オブジェクトの次に要求された部分の値の取得を試みます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) で導入されました。

GetRoots()

サンプリングされたヒープからルートを返します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

GetSampledHeapData(UInt32)

シリアル化されたオブジェクト グラフ データの次に要求された部分を返します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

GetSampledHeapDataWithoutRoots(UInt32)

ルート情報を含めずに、シリアル化されたオブジェクト グラフ データの次に要求された部分を返します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) で導入されました。

GetSampledHeapTypeStats()

ヒープの種類の統計を返します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

GetSampledHeapTypeStats176(Boolean)

ヒープの種類の統計を返します。必要に応じて、カウントにデッド オブジェクトを含めます。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) で導入されました。

GetSegments()

ヒープ内のセグメントの一覧を取得します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) で導入されました。

GetTotalBytesWastedByEventHandlerLeaks()

マネージド ヒープ上のイベント ハンドラーによってリークされた合計バイト数を返します。 この計算は、各リーク情報構造体の BytesWasted 値とは別です。 これは、リークのサブ ツリーが重複し、保持されているオブジェクトが 2 倍カウントされる可能性があるためです。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) で導入されました。

GetTotalBytesWastedByEventHandlerLeaksJMC()

除外された型が除外されたマネージド ヒープ上のイベント ハンドラーによってリークされた合計バイト数を返します。この計算は、各リーク情報構造体の BytesWasted 値とは別です。 これは、リークのサブ ツリーが重複し、保持されているオブジェクトが 2 倍カウントされる可能性があるためです。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) で導入されました。

InitializeHeapObjectWalk(UInt32, Boolean)

ヒープ サンプラーを初期化します。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

NextObjects(UInt32)

ヒープ上のオブジェクトの指定された数をウォークします。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

NextReferences(UInt32)

ヒープ上の指定された数の参照をウォークします。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

NextRoots(UInt32)

ヒープ上の指定された数の GC ルートをウォークします。

場所の制約: API は IDE コンポーネント (コンポーネント レベル > 100,000) から呼び出す必要があります。

この API は、Visual Studio 12 RTM (DkmApiVersion.VS12RTM) で導入されました。

RemoveDataItem<T>()

このコンテナーから 'T' のインスタンスを削除します。 通常、オブジェクトが閉じられるとデータ コンテナーが自動的に空になるので、このメソッドを呼び出す必要があります。

(継承元 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

データ コンテナーに新しい項目を配置します。

(継承元 DkmDataContainer)

明示的なインターフェイスの実装

IDisposable.Dispose()

追加する。

適用対象