Bagikan melalui


_CrtSetDebugFillThreshold

Mengambil atau memodifikasi ambang batas yang mengontrol perilaku pengisian buffer dalam fungsi debug.

Sintaks

size_t _CrtSetDebugFillThreshold( size_t newThreshold );

Parameter

newThreshold
Ukuran ambang batas baru dalam byte.

Nilai hasil

Nilai ambang sebelumnya.

Keterangan

Versi debug dari beberapa fungsi CRT yang ditingkatkan keamanan mengisi buffer yang diteruskan kepada mereka dengan karakter khusus (0xFE). Karakter isian ini membantu menemukan kasus di mana ukuran yang salah diteruskan ke fungsi. Sayangnya, itu juga mengurangi performa. Untuk meningkatkan performa, gunakan _CrtSetDebugFillThreshold untuk menonaktifkan pengisian buffer untuk buffer yang lebih besar dari newThreshold ambang batas. Nilai newThreshold 0 menonaktifkannya untuk semua buffer.

Ambang defaultnya adalah SIZE_T_MAX.

Berikut adalah daftar fungsi yang terpengaruh:

Persyaratan

Rutin Header yang diperlukan
_CrtSetDebugFillThreshold <crtdbg.h>

Fungsi ini khusus Microsoft. Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Pustaka

Debug versi pustaka run-time C saja.

Contoh

// 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

Baca juga

Rutinitas debug