EXCEPTION_RECORD64 구조체(winnt.h)
예외를 설명합니다.
구문
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
멤버
ExceptionCode
예외가 발생한 이유입니다. 하드웨어 예외에 의해 생성된 코드이거나 소프트웨어 생성 예외에 대해 RaiseException 함수에 지정된 코드입니다. 다음 표에서는 일반적인 프로그래밍 오류로 인해 발생할 수 있는 예외 코드를 설명합니다.
콘솔 프로세스 디버깅 시 또 다른 예외 코드가 발생할 수 있습니다. 프로그래밍 오류로 인해 발생하지 않습니다. DBG_CONTROL_C 예외 코드는 Ctrl+C 신호를 처리하고 디버그하는 콘솔 프로세스에 Ctrl+C가 입력될 때 발생합니다. 이 예외 코드는 애플리케이션에서 처리할 수 없습니다. 디버거의 이점을 위해서만 발생하며 디버거가 콘솔 프로세스에 연결된 경우에만 발생합니다.
ExceptionFlags
예외 플래그입니다. 이 멤버는 연속 가능한 예외를 나타내는 0이거나 연결할 수 없는 예외를 나타내는 EXCEPTION_NONCONTINUABLE 수 있습니다. 연결할 수 없는 예외 후 실행을 계속하려고 하면 EXCEPTION_NONCONTINUABLE_EXCEPTION 예외가 발생합니다.
ExceptionRecord
연결된 EXCEPTION_RECORD 구조체에 대한 포인터입니다. 중첩된 예외가 발생할 때 추가 정보를 제공하기 위해 예외 레코드를 함께 연결할 수 있습니다.
ExceptionAddress
예외가 발생한 주소입니다.
NumberParameters
예외와 연결된 매개 변수 수입니다. ExceptionInformation 배열에 정의된 요소의 수입니다.
__unusedAlignment
ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
예외를 설명하는 추가 인수의 배열입니다. RaiseException 함수는 이 인수 배열을 지정할 수 있습니다. 대부분의 예외 코드에서 배열 요소는 정의되지 않습니다. 다음 표에서는 배열 요소가 정의된 예외 코드에 대해 설명합니다.
설명
디버거가 다른 아키텍처(32비트 및 64비트)에서 실행되는 대상을 디버그할 수 있도록 하려면 이 구조체의 명시적 형식 중 하나를 사용합니다.
typedef struct _EXCEPTION_RECORD32 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD ExceptionRecord;
DWORD ExceptionAddress;
DWORD NumberParameters;
DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
머리글 | winnt.h(Windows.h 포함) |