ICorDebugThread::EnumerateChains 메서드

이 ICorDebugThread 개체의 모든 스택 체인을 포함하는 ICorDebugChainEnum 열거자에 대한 인터페이스 포인터를 가져옵니다.

구문

HRESULT EnumerateChains (  
    [out] ICorDebugChainEnum **ppChains  
);  

매개 변수

ppChains
[out] 활성(즉, 가장 최근) 체인에서 시작하여 이 스레드의 모든 스택 체인을 열거할 수 있는 ICorDebugChainEnum 개체의 주소에 대한 포인터입니다.

설명

스택 체인은 스레드의 실제 호출 스택을 나타냅니다. 다음 상황에서는 스택 체인 경계를 만듭니다.

  • 관리-비관리 또는 비관리-관리 전환입니다.

  • 컨텍스트 스위치입니다.

  • 사용자 스레드의 디버거 하이재킹입니다.

단일 컨텍스트에서 관리 코드만 실행하는 스레드의 간단한 사례에는 스레드와 스택 체인 간에 일대일 대응이 존재합니다.

디버거는 모든 스레드의 실제 호출 스택을 논리적 호출 스택으로 다시 정렬할 수 있습니다. 이렇게 하려면 모든 스레드 체인을 호출자/호출 수신자 관계별로 정렬하고 다시 그룹화해야 합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 1.0부터 사용 가능