Udostępnij za pośrednictwem


_CrtSetDebugFillThreshold

Pobiera lub modyfikuje próg, kontrolowanie zachowania napełniania buforu w funkcji debugowania.

size_t _CrtSetDebugFillThreshold(
   size_t _NewThreshold
);

Parametry

  • newThreshold
    Nowy próg.

Wartość zwracana

Poprzedni próg.

Uwagi

Wersje do debugowania niektórych funkcji CRT zwiększonych zabezpieczeń wypełnić bufor przekazany do nich znakiem specjalnym (0xFD).Pomaga to w przypadkach gdzie niepoprawny rozmiar został przekazany do funkcji Znajdź.Niestety również obniża wydajność.Aby zwiększyć wydajność, należy użyć _CrtSetDebugFillThreshold wyłączyć wypełniania buforu dla większych niż próg buforów.Próg o wartości 0 spowoduje wyłączenie go wszystkie bufory.

Domyślnym progiem jest SIZE_T_MAX.

Oto lista funkcji, których dotyczy luka.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_CrtSetDebugFillThreshold

<crtdbg.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Biblioteki

Debug wersje biblioteki uruchomieniowej c tylko.

Przykład

// crt_crtsetdebugfillthreshold.cpp
// compile with: /MTd
#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
fd  ²
fd  ²
fd  ²
fd  ²
With buffer-filling off:
68  h
6f  o
77  w
64  d
79  y
00
00
00
00
00

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Debugowania procedur