次の方法で共有


IDebugBreakpointErrorEvent2::GetErrorBreakpoint

ブレークポイントがバインドされなかった理由を説明する IDebugErrorBreakpoint2 オブジェクトを取得します。

構文

int GetErrorBreakpoint( 
    out IDebugErrorBreakpoint2 ppErrorBP
);

パラメーター

ppErrorBP
[出力] 警告またはエラーについて記述している IDebugErrorBreakpoint2 オブジェクトを返します。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説

IDebugErrorBreakpoint2 インターフェイスを取得した後、GetBreakpointResolution メソッドを呼び出して、IDebugErrorBreakpointResolution2 オブジェクトを取得します。 次に、GetResolutionInfo メソッドを使用して、無効な場所、無効な式、または保留中のブレークポイントがバインドされなかった理由 (例: コードがまだ読み込まれていない) などを判断できます。

次の例は、IDebugBreakpointErrorEvent2 インターフェイスを公開する CBreakpointSetDebugEventBase オブジェクトに対してこのメソッドを実装する方法を示しています。

STDMETHODIMP CBreakpointErrorDebugEventBase::GetErrorBreakpoint(
    IDebugErrorBreakpoint2 **ppbp)
{
    HRESULT hRes = E_FAIL;

    if ( ppbp )
    {
        if ( m_pError )
        {
            *ppbp = m_pError;

            m_pError->AddRef();

            hRes = S_OK;
        }
        else
            hRes = E_FAIL;
    }
    else
        hRes = E_INVALIDARG;

    return ( hRes );
}

関連項目