_CrtSetDebugFillThreshold
Ruft den Schwellenwert ab oder ändert den Schwellenwert, der das Pufferfüllverhalten in Debugfunktionen steuert
Syntax
size_t _CrtSetDebugFillThreshold( size_t newThreshold );
Parameter
newThreshold
Neue Schwellenwertgröße in Byte.
Rückgabewert
Der vorherige Schwellenwert.
Hinweise
Die Debugversionen einiger sicherheitsgeweiterter CRT-Funktionen füllen den an sie übergebenen Puffer mit einem Sonderzeichen (0xFE). Dieses Füllzeichen hilft dabei, Fälle zu finden, in denen die falsche Größe an die Funktion übergeben wurde. Allerdings ist dies häufig mit Leistungseinbußen verbunden. Verwenden Sie _CrtSetDebugFillThreshold
zum Verbessern der Leistung die Pufferfüllung für Puffer, die größer als der newThreshold
Schwellenwert sind. Der newThreshold
Wert 0 deaktiviert sie für alle Puffer.
Der Standardwert ist SIZE_T_MAX
.
Hier ist eine Liste der betroffenen Funktionen:
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
Anforderungen
Routine | Erforderlicher Header |
---|---|
_CrtSetDebugFillThreshold |
<crtdbg.h> |
Diese Funktion ist microsoftspezifisch. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Bibliotheken
Debugversionen der C-Laufzeitbibliotheken .
Beispiel
// 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
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für