다음을 통해 공유


_CrtSetDebugFillThreshold

디버그 함수에서 버퍼 채우기 동작을 제어하는 임계값을 검색하고 수정합니다.

size_t _CrtSetDebugFillThreshold(
   size_t _NewThreshold
);

매개 변수

  • newThreshold
    새 임계값입니다.

반환 값

이전 임계값입니다.

설명

보안이 강화된 CRT 함수의 디버그 버전은 특수 문자 (0xFD)를 사용하여 전달된 버퍼를 채웁니다. 이것은 잘못된 크기가 함수에 전달된 경우를 찾는 것을 도와줍니다. 불행하게도, 성능 또한 줄어듭니다. 성능을 향상시키기 위해서는, 임계값보다 큰 버퍼에 버퍼 채우기를 비활성화시키기 위해 _CrtSetDebugFillThreshold를 사용합니다. 0의 임계값은 모든 버퍼를 해제시킵니다.

기본 임계값은 SIZE_T_MAX입니다.

영향을 미치는 함수의 목록은 다음과 같습니다.

요구 사항

루틴

필수 헤더

_CrtSetDebugFillThreshold

<crtdbg.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

라이브러리

C 런타임 라이브러리 의 유일한 디버그 버전입니다.

예제

// crt_crtsetdebugfillthreshold.cpp
// compile with: /MTd
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <crtdbg.h>

void Clear( char buff[], size_t size )
{
   for( int i=0; i<size; ++i )
      buff[i] = 0;
}

void Print( char buff[], size_t size )
{
   for( int i=0; i<size; ++i )
      printf( "%02x  %c\n", (unsigned char)buff[i], buff[i] );
}

int main( void )
{
   char buff[10];

   printf( "With buffer-filling on:\n" );
   strcpy_s( buff, _countof(buff), "howdy" );
   Print( buff, _countof(buff) );

   _CrtSetDebugFillThreshold( 0 );

   printf( "With buffer-filling off:\n" );
   Clear( buff, _countof(buff) );
   strcpy_s( buff, _countof(buff), "howdy" );
   Print( buff, _countof(buff) );
}

With buffer-filling on:
68  h
6f  o
77  w
64  d
79  y
00
fd  ²
fd  ²
fd  ²
fd  ²
With buffer-filling off:
68  h
6f  o
77  w
64  d
79  y
00
00
00
00
00

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

참고 항목

참조

디버그 루틴