次の方法で共有


ICorDebugReferenceValue

更新 : 2007 年 11 月

オブジェクトへの参照である値を管理するメソッドを提供します(つまり、このインターフェイスには、ポインタを管理するメソッドが用意されています)。このインターフェイスは、ICorDebugValue を実装します。

interface ICorDebugReferenceValue : ICorDebugValue {
        
    HRESULT Dereference (
        [out] ICorDebugValue  **ppValue
    );
        
    HRESULT DereferenceStrong (
        [out] ICorDebugValue  **ppValue
    );
        
    HRESULT GetValue (
        [out] CORDB_ADDRESS   *pValue
    );
        
    HRESULT IsNull (
        [out] BOOL            *pbNull
    );
        
    HRESULT SetValue (
        [in] CORDB_ADDRESS    value
    );
        
};

メソッド

メソッド

説明

ICorDebugReferenceValue::Dereference メソッド

参照されるオブジェクトを取得します。

ICorDebugReferenceValue::DereferenceStrong メソッド

実装されていません。このメソッドを呼び出さないでください。

ICorDebugReferenceValue::GetValue メソッド

参照されるオブジェクトの現在のメモリ アドレスを取得します。

ICorDebugReferenceValue::IsNull メソッド

この ICorDebugReferenceValue が null 値かどうかを示す値を取得します。null 値の場合、ICorDebugReferenceValue はオブジェクトを指していません。

ICorDebugReferenceValue::SetValue メソッド

現在のメモリ アドレスを設定します。つまり、このメソッドはこの ICorDebugReferenceValue がオブジェクトを指すように設定します。

解説

共通言語ランタイム (CLR: Common Language Runtime) は、デバッグされているプロセスを続行するときに、オブジェクトに対してガベージ コレクションを実行する場合があります。ガベージ コレクションはメモリ内でオブジェクトを移動できます。ICorDebugReferenceValue は、ガベージ コレクションの後に情報が更新されるようにガベージ コレクションと連携するか、ガベージ コレクションの前に暗黙的に無効化されます。

ICorDebugReferenceValue オブジェクトは、デバッグされているプロセスが続行された後、暗黙的に無効化される場合があります。派生した ICorDebugHandleValue は、明示的に解放または公開されるまで無効化されません。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : CorDebug.idl

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

ICorDebugHandleValue

ICorDebugValue

その他の技術情報

デバッグのインターフェイス