_CrtSetBreakAlloc
Belirtilen nesne ayırma sipariş numarası (yalnızca hata ayıklama sürümü) bir kesme noktası ayarlar.
long _CrtSetBreakAlloc(
long lBreakAlloc
);
Parametreler
- lBreakAlloc
Kesme noktası ayarlamak istediğiniz tahsisat sipariş numarası.
Dönüş Değeri
Bir kesme vardı önceki nesne ayırma sipariş numarasını döndürür.
Notlar
_CrtSetBreakAllocbellek ayırma belirli bir noktada bölme ve geri izleme isteği başlangıcı olarak bellek sızıntı algılaması gerçekleştirmek bir uygulama sağlar. İşlev öbeğe ayrıldı, bellek bloğu atanan ardışık nesne ayırma sipariş numarasını kullanır. Zaman _debug tanımlı değilse, çağıran için _CrtSetBreakAlloc ön-işleme sırasında kaldırılır.
Nesne ayırma sipariş numarası depolanan lRequest , alan _CrtMemBlockHeader Crtdbg.h içinde tanımlanan yapı. Hata ayıklama dökümü işlevlerinden birini bir bellek bloğu hakkında bilgi bildirildiğinde, bu sayı 36} gibi kaşlı ayraçlar içine alınır.
Hakkında daha fazla bilgi için _CrtSetBreakAlloc diğer bellek yönetimi işlevleri ile kullanılabilir, bkz: Yığın ayırma istekleri izleme.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_CrtSetBreakAlloc |
<crtdbg.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıkları
Hata ayıklama sürümlerini c çalışma zamanı kitaplıkları yalnızca.
Örnek
// crt_setbrkal.c
// compile with: -D_DEBUG /MTd -Od -Zi -W3 /c /link -verbose:lib -debug
/*
* In this program, a call is made to the _CrtSetBreakAlloc routine
* to verify that the debugger halts program execution when it reaches
* a specified allocation number.
*/
#include <malloc.h>
#include <crtdbg.h>
int main( )
{
long allocReqNum;
char *my_pointer;
/*
* Allocate "my_pointer" for the first
* time and ensure that it gets allocated correctly
*/
my_pointer = malloc(10);
_CrtIsMemoryBlock(my_pointer, 10, &allocReqNum, NULL, NULL);
/*
* Set a breakpoint on the allocation request
* number for "my_pointer"
*/
_CrtSetBreakAlloc(allocReqNum+2);
_crtBreakAlloc = allocReqNum+2;
/*
* Alternate freeing and reallocating "my_pointer"
* to verify that the debugger halts program execution
* when it reaches the allocation request
*/
free(my_pointer);
my_pointer = malloc(10);
free(my_pointer);
my_pointer = malloc(10);
free(my_pointer);
}
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.