_CrtSetDebugFillThreshold
Alır veya hata ayıklama işlevleri arabelleğe Krema davranışını denetleyen eşik değiştirir.
size_t _CrtSetDebugFillThreshold(
size_t _NewThreshold
);
Parametreler
- newThreshold
Yeni eşik.
Dönüş Değeri
Önceki eşiği.
Notlar
Bazı gelişmiş güvenlik crt işlevleri hata ayıklama sürümleri ile özel bir karakter onlara geçirilen arabellek doldurun (0xFD). Bu durumda burada boyutu yanlış işlevine geçirildi bulmak için yardımcı olur. Ne yazık ki, performansı da azaltır. Performansı artırmak için _CrtSetDebugFillThreshold arabellek Krema eşik değerinden daha büyük arabellekleri için devre dışı bırakmak için. Eşik 0, tüm arabellekleri için devre dışı bırakır.
Varsayılan eşik ise SIZE_T_MAX.
Etkilenen fonksiyonların listesi aşağıdadır.
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
_strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l
_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l
_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l
_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l
_itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_CrtSetDebugFillThreshold |
<crtdbg.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıkları
Hata ayıklama sürümlerini c çalışma zamanı kitaplıkları yalnızca.
Örnek
// 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 Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.