_CrtSetDebugFillThreshold
Récupère ou modifie le seuil de contrôle du comportement de remplissage de la mémoire tampon dans les fonctions de débogage.
Syntaxe
size_t _CrtSetDebugFillThreshold( size_t newThreshold );
Paramètres
newThreshold
Nouvelle taille de seuil en octets.
Valeur retournée
Valeur de seuil précédente.
Notes
Les versions de débogage de certaines fonctions CRT améliorées en matière de sécurité remplissent la mémoire tampon transmise avec un caractère spécial (0xFE). Ce caractère de remplissage permet de rechercher les cas où la taille incorrecte a été passée à la fonction. Malheureusement, cela réduit aussi les performances. Pour améliorer les performances, utilisez cette option _CrtSetDebugFillThreshold
pour désactiver le remplissage des mémoires tampons pour les mémoires tampons supérieures au newThreshold
seuil. La newThreshold
valeur 0 la désactive pour toutes les mémoires tampons.
La valeur de seuil par défaut est SIZE_T_MAX
.
Voici une liste des fonctions affectées :
ctime_s
, ,_ctime32_s
,_wctime_s
_ctime64_s
, ,_wctime32_s
_wctime64_s
_itoa_s
, ,_ltoa_s
,_i64toa_s
_ultoa_s
, ,_itow_s
_i64tow_s
_ltow_s
_ultow_s
_ui64toa_s
_ui64tow_s
_strlwr_s
, ,_strlwr_s_l
,_mbslwr_s_l
_mbslwr_s
, ,_wcslwr_s
_wcslwr_s_l
strncat_s
, ,_strncat_s_l
,_wcsncat_s_l
wcsncat_s
, ,_mbsncat_s
_mbsncat_s_l
strncpy_s
, ,_strncpy_s_l
,_wcsncpy_s_l
wcsncpy_s
, ,_mbsncpy_s
_mbsncpy_s_l
_strnset_s
, ,_strnset_s_l
,_wcsnset_s_l
_wcsnset_s
, ,_mbsnset_s
_mbsnset_s_l
_strset_s
, ,_strset_s_l
,_wcsset_s_l
_wcsset_s
, ,_mbsset_s
_mbsset_s_l
_strupr_s
, ,_strupr_s_l
,_mbsupr_s_l
_mbsupr_s
, ,_wcsupr_s
_wcsupr_s_l
Spécifications
Routine | En-tête requis |
---|---|
_CrtSetDebugFillThreshold |
<crtdbg.h> |
Cette fonction est spécifique à Microsoft. Pour plus d’informations sur la compatibilité, consultez Compatibility.
Bibliothèques
Déboguer uniquement les versions des bibliothèques runtime C.
Exemple
// 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