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