IDebugControl5::OutputContextStackTraceEx 메서드(dbgeng.h)
OutputContextStackTraceEx 메서드는 스택 프레임 배열 및 해당 레지스터 컨텍스트로 지정된 호출 스택을 인쇄합니다. OutputContextStackTraceEx 메서드는 인라인 프레임 지원을 제공합니다. 인라인 함수 작업에 대한 자세한 내용은 최적화된 코드 및 인라인 함수 디버깅을 참조하세요.
통사론
HRESULT OutputContextStackTraceEx(
[in] ULONG OutputControl,
[in] PDEBUG_STACK_FRAME_EX Frames,
[in] ULONG FramesSize,
[in] PVOID FrameContexts,
[in] ULONG FrameContextsSize,
[in] ULONG FrameContextsEntrySize,
[in] ULONG Flags
);
매개 변수
[in] OutputControl
출력을 보낼 위치를 지정합니다. 가능한 값은 DEBUG_OUTCTL_XXX참조하세요.
[in] Frames
출력할 스택 프레임의 배열을 지정합니다. 이 배열의 요소 수는 framesSize . 프레임 NULL 경우 현재 스택 프레임이 사용됩니다.
[in] FramesSize
출력할 프레임 수를 지정합니다.
[in] FrameContexts
스택의 각 프레임에 대한 레지스터 컨텍스트를 지정합니다. 이 배열의 항목은 Frames 배열의 항목에 해당합니다. 스레드 컨텍스트의 형식은 대상의 유효 프로세서에 대한 CONTEXT 구조입니다.
[in] FrameContextsSize
FrameContexts가리키는 메모리의 크기(바이트)를 지정합니다. 스택 프레임 수는 컨텍스트 수와 같아야 하며, FrameContextsSizeFramesSizeFrameContextsEntrySize곱해야 합니다.
[in] FrameContextsEntrySize
FrameContexts각 프레임 컨텍스트의 크기를 바이트 단위로 지정합니다.
[in] Flags
각 프레임에 대해 출력할 정보를 결정하는 비트 플래그를 지정합니다. 플래그 다음 표의 값 조합일 수 있습니다.
기 | 묘사 |
---|---|
DEBUG_STACK_ARGUMENTS | 각 호출의 프레임에 처음 세 개의 스택 메모리를 표시합니다. 인수가 스택에 전달되고 프레임에 대한 코드가 스택 인수를 사용하는 플랫폼에서 이러한 값은 함수에 대한 인수가 됩니다. |
DEBUG_STACK_FUNCTION_INFO | 프레임에 해당하는 함수에 대한 정보를 표시합니다. 여기에는 호출 규칙 및 FPO(프레임 포인터 누락) 정보가 포함됩니다. |
DEBUG_STACK_SOURCE_LINE | 스택 추적의 각 프레임에 대한 원본 줄 정보를 표시합니다. |
DEBUG_STACK_FRAME_ADDRESSES | 각 프레임에 대한 반환 주소, 이전 프레임 주소 및 기타 관련 주소를 표시합니다. |
DEBUG_STACK_COLUMN_NAMES | 열 이름을 표시합니다. |
DEBUG_STACK_NONVOLATILE_REGISTERS | 각 프레임에 대한 비휘발성 레지스터 컨텍스트를 표시합니다. 이는 일부 플랫폼에만 의미가 있습니다. |
DEBUG_STACK_FRAME_NUMBERS | 프레임 번호를 표시합니다. |
DEBUG_STACK_PARAMETERS | 기호 정보에 지정된 대로 매개 변수 이름과 값을 표시합니다. |
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY | 스택 프레임 주소에 반환 주소만 표시합니다. |
DEBUG_STACK_FRAME_MEMORY_USAGE | 프레임을 구분하는 바이트 수를 표시합니다. |
DEBUG_STACK_PARAMETERS_NEWLINE | 각 매개 변수와 해당 형식 및 값을 새 줄에 표시합니다. |
반환 값
이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값 참조하세요.
반환 코드 | 묘사 |
---|---|
|
메서드가 성공했습니다. |
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | dbgeng.h |