共用方式為


_CrtSetDebugFillThreshold

擷取或修改控制偵錯函式中的緩衝區填滿行為的臨界值。

size_t _CrtSetDebugFillThreshold(
   size_t _NewThreshold
);

參數

  • newThreshold
    新的臨界值。

傳回值

先前的臨界值。

備註

某些安全的 CRT 函式的偵錯版本填滿傳送給他們以特殊字元的緩衝區 (0xFD)。 這有助於找出不正確的大小已傳給函數的情況。 不幸的是,它也會降低效能。 若要改善效能,請使用**_CrtSetDebugFillThreshold**來停用緩衝區填滿的緩衝區大小超過臨界值。 將閾值設為 0 會停用它所有的緩衝區。

預設臨界值是SIZE_T_MAX

下面是受影響的函式的清單。

需求

常式

所需的標頭

_CrtSetDebugFillThreshold

<crtdbg.h>

如需相容性資訊,請參閱相容性在簡介中。

文件庫

偵錯版本的 C 執行階段程式庫只。

範例

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

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

偵錯常式