_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
,_ctime64_s
,_wctime_s
,_wctime32_s
,_wctime64_s
_itoa_s
,_ltoa_s
,_ultoa_s
,_i64toa_s
,_ui64toa_s
,_itow_s
,_ltow_s
,_ultow_s
,_i64tow_s
,_ui64tow_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
_strupr_s
,_strupr_s_l
,_mbsupr_s
,_mbsupr_s_l
,_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
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour