Aracılığıyla paylaş


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

Ayrıca bkz.

Başvuru

Yordamlar hata ayıklama