다음을 통해 공유


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] 스택에 있는 내부 프레임의 배열 주소에 대한 포인터입니다.

반환 값

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

HRESULT

설명

S_OK

ICorDebugInternalFrame2 개체가 성공적으로 만들어졌습니다.

E_INVALIDARG

cInternalFrames가 0이 아니고 ppInternalFrames가 null이거나 pcInternalFrames가 null입니다.

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

ppInternalFrames가 내부 프레임의 수보다 작습니다.

설명

내부 프레임은 런타임에서 임시 데이터를 저장하기 위해 스택으로 푸시한 데이터 구조체입니다.

GetActiveInternalFrames를 처음 호출할 때는 cInternalFrames 매개 변수와 ppInternalFrames 매개 변수를 각각 0과 null로 설정해야 합니다. GetActiveInternalFrames가 처음으로 반환되면 스택에 있는 내부 프레임의 수가 pcInternalFrames에 포함됩니다.

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

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

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4

참고 항목

기타 리소스

디버깅 인터페이스

디버깅(관리되지 않는 API 참조)