_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
_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.
Libraries
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