ICorDebugThread3::GetActiveInternalFrames 메서드

스택의 내부 프레임(ICorDebugInternalFrame2 개체) 배열을 반환합니다.

구문

HRESULT GetActiveInternalFrames  
      (  
      [in] ULONG32 cInternalFrames,  
      [out] ULONG32 *pcInternalFrames,  
      [in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]  
            ICorDebugInternalFrame2 * ppInternalFrames[]  
      );  

매개 변수

cInternalFrames
[in] ppInternalFrames에 예상되는 내부 프레임 수입니다.

pcInternalFrames
[out] 스택의 내부 프레임 수를 포함하는 ULONG32에 대한 포인터입니다.

ppInternalFrames
[in, out] 스택에 있는 내부 프레임 배열의 주소에 대한 포인터입니다.

Return Value

이 메서드는 다음과 같은 특정 HRESULT뿐만 아니라 메서드 오류를 나타내는 HRESULT 오류도 반환합니다.

HRESULT 설명
S_OK ICorDebugInternalFrame2 개체가 성공적으로 만들어졌습니다.
E_INVALIDARG cInternalFrames는 0이 아니고 ppInternalFramesnull이거나, pcInternalFramesnull입니다.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ppInternalFrames는 내부 프레임 수보다 작습니다.

예외

설명

내부 프레임은 임시 데이터를 저장하기 위해 런타임에 의해 스택에 푸시되는 데이터 구조입니다.

GetActiveInternalFrames를 처음 호출할 때 cInternalFrames 매개 변수를 0(영)으로 설정하고 ppInternalFrames 매개 변수를 null로 설정해야 합니다. GetActiveInternalFrames가 처음 반환될 때 pcInternalFrames에는 스택의 내부 프레임 수가 포함됩니다.

그런 다음 GetActiveInternalFrames를 두 번째로 호출해야 합니다. cInternalFrames 매개 변수에 적절한 개수(pcInternalFrames)를 전달하고 ppInternalFrames에 적절한 크기의 배열에 대한 포인터를 지정해야 합니다.

ICorDebugStackWalk::GetFrame 메서드를 사용하여 실제 스택 프레임을 반환합니다.

요구 사항

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

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

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

참고 항목