네이티브 런타임 검사 사용

Visual Studio C++ 프로젝트에서는 네이티브 runtime_checks를 사용하여 다음과 같은 일반적인 런타임 오류를 catch할 수 있습니다.

  • 스택 포인터 손상

  • 지역 배열의 오버런

  • 스택 손상

  • 초기화되지 않은 지역 변수에 대한 종속성

  • Short형 변수에 할당한 경우 발생한 데이터 손실

    /RTC 를 최적화된 빌드(/O)와 함께 사용하면 컴파일러 오류가 발생합니다. 최적화된 빌드에는 runtime_checks pragma를 사용해도 적용되지 않습니다.

    런타임 검사가 활성화된 상태에서 프로그램을 디버깅하면 런타임 오류가 발생한 경우 기본적으로 프로그램을 중지하고 디버거를 중단합니다. 모든 런타임 검사의 기본 동작은 변경할 수 있습니다. 자세한 내용은 디버거를 사용한 예외 관리를 참조하세요.

    다음 절차에서는 디버그 빌드에서 네이티브 런타임 검사 기능을 활성화하는 방법과 네이티브 런타임 검사 동작을 수정하는 방법에 대해 설명합니다.

    이 섹션의 다른 항목에서는 다음 내용에 대해 설명합니다.

  • C 런타임 라이브러리와 함께 런타임 검사 사용자 지정

디버그 빌드에 네이티브 런타임 검사 기능을 사용하려면

  • /RTC 옵션을 사용하고 C 런타임 라이브러리의 디버그 버전(예: /MDd)으로 연결합니다.

    Visual Studio에서 옵션을 설정하려면 /RTC(런타임 오류 검사) 참조 문서의 설명 섹션을 참조하세요. 더 작은 형식 확인 속성이 아닌 기본 런타임 확인 속성의 값을 설정합니다. 더 작은 형식 확인 속성은 권장되지 않습니다.

네이티브 런타임 검사 동작을 수정하려면

  • runtime_checks pragma를 사용합니다.