Share via


ICorDebugThread Interface

Represents a thread in a process. The lifetime of an ICorDebugThread instance is the same as the lifetime of the thread it represents.

interface ICorDebugThread : IUnknown {
    
    HRESULT ClearCurrentException ();

    HRESULT CreateEval ( 
        [out] ICorDebugEval       **ppEval
    );
    
    HRESULT CreateStepper (
        [out] ICorDebugStepper    **ppStepper
    );
    
    HRESULT EnumerateChains (
        [out] ICorDebugChainEnum  **ppChains
    );
    
    HRESULT GetActiveChain (
        [out] ICorDebugChain      **ppChain
    );
    
    HRESULT GetActiveFrame (
        [out] ICorDebugFrame      **ppFrame
    );
    
    HRESULT GetAppDomain (
        [out] ICorDebugAppDomain  **ppAppDomain
    );
    
    HRESULT GetCurrentException (
        [out] ICorDebugValue      **ppExceptionObject
    );
    
    HRESULT GetDebugState (
        [out] CorDebugThreadState *pState
    );
    
    HRESULT GetHandle (
        [out] HTHREAD             *phThreadHandle
    );
    
    HRESULT GetID (
        [out] DWORD               *pdwThreadId
    );
    
    HRESULT GetObject (
        [out] ICorDebugValue      **ppObject
    );
    
    HRESULT GetProcess (
        [out] ICorDebugProcess    **ppProcess
    );
    
    HRESULT GetRegisterSet (
        [out] ICorDebugRegisterSet **ppRegisters
    );
    
    HRESULT GetUserState (
        [out] CorDebugUserState    *pState
    );
    
    HRESULT SetDebugState (
        [in] CorDebugThreadState   state
    );

};

Methods

Method

Description

ICorDebugThread::ClearCurrentException Method

This method is not implemented. Do not use it.

ICorDebugThread::CreateEval Method

Creates an ICorDebugEval object that operates on this ICorDebugThread.

ICorDebugThread::CreateStepper Method

Creates an ICorDebugStepper object that allows stepping through the active frame in this ICorDebugThread.

ICorDebugThread::EnumerateChains Method

Gets an interface pointer to an ICorDebugChainEnum enumerator that contains all the stack chains in this ICorDebugThread.

ICorDebugThread::GetActiveChain Method

Gets an interface pointer to the active ICorDebugChain on this ICorDebugThread.

ICorDebugThread::GetActiveFrame Method

Gets an interface pointer to the active ICorDebugFrame on this ICorDebugThread.

ICorDebugThread::GetAppDomain Method

Gets an interface pointer to the application domain in which this ICorDebugThread is currently executing.

ICorDebugThread::GetCurrentException Method

Gets an interface pointer to an ICorDebugValue object that represents an exception currently being thrown by managed code.

ICorDebugThread::GetDebugState Method

Gets a CorDebugThreadState value that describes the current debug state of this ICorDebugThread.

ICorDebugThread::GetHandle Method

Gets the current handle for the active part of this ICorDebugThread.

ICorDebugThread::GetID Method

Gets the current operating system identifier of the active part of this ICorDebugThread.

ICorDebugThread::GetObject Method

Gets an interface pointer to the common language runtime (CLR) thread.

ICorDebugThread::GetProcess Method

Gets an interface pointer to the process of which this ICorDebugThread forms a part.

ICorDebugThread::GetRegisterSet Method

Gets an interface pointer to the register set associated with this ICorDebugThread.

ICorDebugThread::GetUserState Method

Gets a bitwise combination of CorDebugUserState values that describe the current state of this ICorDebugThread.

ICorDebugThread::SetDebugState Method

Sets a bitwise combination of CorDebugThreadState values that describe the debugging state of this ICorDebugThread.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorDebug.idl

Library: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

See Also

Reference

ICorDebugThread2 Interface

Other Resources

Debugging Interfaces