Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hata ayıklama işlevlerinde arabellek doldurma davranışını kontrol eden eşiği alır veya değiştirir.
Sözdizimi
size_t _CrtSetDebugFillThreshold( size_t newThreshold );
Parametreler
newThreshold
Bayt cinsinden yeni eşik boyutu.
Dönüş değeri
Önceki eşik değeri.
Açıklamalar
Güvenliği artırılmış bazı CRT işlevlerinin hata ayıklama sürümleri, kendilerine geçirilen arabelleği özel bir karakterle (0xFE) doldurur. Bu doldurma karakteri, yanlış boyutun fonksiyona iletildiği durumları bulmaya yardımcı olur. Ne yazık ki, bu aynı zamanda performansı da azaltıyor. Performansı artırmak için, eşikten daha büyük arabellekler için arabellek doldurmayı _CrtSetDebugFillThreshold devre dışı bırakmak için kullanınnewThreshold.
newThreshold 0 değeri, tüm arabellekler için devre dışı bırakır.
Varsayılan eşik şudur: SIZE_T_MAX.
Etkilenen işlevlerin listesi aşağıda verilmiştir:
-
asctime_s,_wasctime_s -
_cgets_s,_cgetws_s -
ctime_s,_ctime32_s,_ctime64_s, ,_wctime_s,_wctime32_s,_wctime64_s _ecvt_s_fcvt_s_gcvt_s-
_itoa_s,_ltoa_s, ,_ultoa_s,_i64toa_s,_ui64toa_s_itow_s_ltow_s_ultow_s_i64tow_s_ui64tow_s -
_makepath_s,_wmakepath_s -
_mbsnbcat_s,_mbsnbcat_s_l -
_mbsnbcpy_s,_mbsnbcpy_s_l -
_mbsnbset_s,_mbsnbset_s_l -
_mktemp_s,_wmktemp_s -
_splitpath_s,_wsplitpath_s -
strcat_s,wcscat_s,_mbscat_s -
strcpy_s,wcscpy_s,_mbscpy_s -
_strdate_s,_wstrdate_s -
strerror_s,_strerror_s,_wcserror_s,__wcserror_s -
_strlwr_s,_strlwr_s_l,_mbslwr_s, ,_mbslwr_s_l,_wcslwr_s,_wcslwr_s_l -
strncat_s,_strncat_s_l,wcsncat_s, ,_wcsncat_s_l,_mbsncat_s,_mbsncat_s_l -
strncpy_s,_strncpy_s_l,wcsncpy_s, ,_wcsncpy_s_l,_mbsncpy_s,_mbsncpy_s_l -
_strnset_s,_strnset_s_l,_wcsnset_s, ,_wcsnset_s_l,_mbsnset_s,_mbsnset_s_l -
_strset_s,_strset_s_l,_wcsset_s, ,_wcsset_s_l,_mbsset_s,_mbsset_s_l -
_strtime_s,_wstrtime_s -
_strupr_s,_strupr_s_l,_mbsupr_s, ,_mbsupr_s_l,_wcsupr_s,_wcsupr_s_l -
vsnprintf_s,_vsnprintf_s,_vsnprintf_s_l,_vsnwprintf_s, ,_vsnwprintf_s_l
Gereksinimler
| Rutin | Gerekli başlık |
|---|---|
_CrtSetDebugFillThreshold |
<crtdbg.h> |
Bu işlev Microsoft'a özgüdür. Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplık
Yalnızca C çalışma zamanı kitaplıklarının sürümlerinde hata ayıklayın.
Örnek
// crt_crtsetdebugfillthreshold.c
// compile with: cl /MTd crt_crtsetdebugfillthreshold.c
#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
fe ■
fe ■
fe ■
fe ■
With buffer-filling off:
68 h
6f o
77 w
64 d
79 y
00
00
00
00
00