예외가 발생한 이유입니다. 하드웨어 예외에 의해 생성된 코드이거나 소프트웨어 생성 예외에 대해 RaiseException 함수에 지정된 코드입니다. 다음은 일반적인 프로그래밍 오류로 인해 발생할 수 있는 예외 코드입니다.
값
의미
EXCEPTION_ACCESS_VIOLATION
스레드는 적절한 액세스 권한이 없는 가상 주소에서 읽거나 쓰려고 했습니다.
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
스레드는 범위를 벗어난 배열 요소에 액세스하려고 시도했으며 기본 하드웨어는 경계 검사를 지원합니다.
EXCEPTION_BREAKPOINT
중단점이 발견되었습니다.
EXCEPTION_DATATYPE_MISALIGNMENT
스레드가 정렬을 제공하지 않는 하드웨어에서 잘못 정렬된 데이터를 읽거나 쓰려고 했습니다. 예를 들어 16비트 값은 2비트 경계에 맞춰야 합니다. 4비트 경계의 32비트 값 등
EXCEPTION_FLT_DENORMAL_OPERAND
부동 소수점 연산의 피연산자 중 하나는 비정상입니다. 비정규 값은 너무 작아서 표준 부동 소수점 값으로 나타낼 수 없습니다.
EXCEPTION_FLT_DIVIDE_BY_ZERO
스레드는 부동 소수점 값을 0의 부동 소수점 수로 나누려고 했습니다.
EXCEPTION_FLT_INEXACT_RESULT
부동 소수점 연산의 결과는 10진수 분수로 정확하게 나타낼 수 없습니다.
EXCEPTION_FLT_INVALID_OPERATION
이 예외는 이 목록에 포함되지 않은 부동 소수점 예외를 나타냅니다.
EXCEPTION_FLT_OVERFLOW
부동 소수점 연산의 지수는 해당 형식에서 허용하는 크기보다 큽합니다.
EXCEPTION_FLT_STACK_CHECK
부동 소수점 작업의 결과로 스택이 오버플로되거나 언더플로됩니다.
EXCEPTION_FLT_UNDERFLOW
부동 소수점 연산의 지수는 해당 형식에서 허용하는 크기보다 작습니다.
EXCEPTION_ILLEGAL_INSTRUCTION
스레드가 잘못된 명령을 실행하려고 했습니다.
EXCEPTION_IN_PAGE_ERROR
스레드가 존재하지 않는 페이지에 액세스하려고 했지만 시스템에서 페이지를 로드할 수 없습니다. 예를 들어 네트워크를 통해 프로그램을 실행하는 동안 네트워크 연결이 끊어지면 이 예외가 발생할 수 있습니다.
EXCEPTION_INT_DIVIDE_BY_ZERO
스레드는 정수 값을 0의 정수 수로 나누려고 했습니다.
EXCEPTION_INT_OVERFLOW
정수 연산의 결과로 결과의 가장 중요한 비트가 수행되었습니다.
EXCEPTION_INVALID_DISPOSITION
예외 처리기가 예외 디스패처에 잘못된 처리를 반환했습니다. C와 같은 고급 언어를 사용하는 프로그래머는 이 예외가 발생하지 않아야 합니다.
EXCEPTION_NONCONTINUABLE_EXCEPTION
스레드는 연결할 수 없는 예외가 발생한 후 실행을 계속하려고 했습니다.
EXCEPTION_PRIV_INSTRUCTION
스레드는 현재 컴퓨터 모드에서 작업이 허용되지 않는 명령을 실행하려고 했습니다.
EXCEPTION_SINGLE_STEP
추적 트랩 또는 다른 단일 명령 메커니즘은 하나의 명령이 실행되었음을 알 수 있습니다.
EXCEPTION_STACK_OVERFLOW
스레드가 스택을 사용했습니다.
콘솔을 디버깅할 때 또 다른 예외 코드가 발생할 수 있습니다. 프로그래밍 오류로 인해 발생하지 않습니다. DBG_CONTROL_C 예외 코드는 Ctrl+C 신호를 처리하고 디버그 중인 콘솔 프로세스에 Ctrl+C를 입력할 때 발생합니다. 이 예외 코드는 애플리케이션에서 처리할 수 없습니다. 디버거의 이점을 위해서만 발생하며 디버거가 콘솔 프로세스에 연결된 경우에만 발생합니다.
ExceptionFlags
이 멤버는 연속 가능한 예외를 나타내는 0이거나, 연결할 수 없는 예외를 나타내는 EXCEPTION_NONCONTINUABLE 수 있습니다. 연결할 수 없는 예외 후 실행을 계속하려고 하면 EXCEPTION_NONCONTINUABLE_EXCEPTION 예외가 발생합니다.
ExceptionRecord
연결된 MINIDUMP_EXCEPTION 구조체에 대한 포인터입니다. 중첩된 예외가 발생할 때 추가 정보를 제공하기 위해 예외 레코드를 함께 연결할 수 있습니다.
ExceptionAddress
예외가 발생한 주소입니다.
NumberParameters
예외와 연결된 매개 변수 수입니다. ExceptionInformation 배열에 정의된 요소의 수입니다.