Sdílet prostřednictvím


_malloc_dbg

Přidělí blok paměti haldy s dalším prostorem pro ladění záhlaví a přepsat vyrovnávací paměti (pouze ladicí verze).

void *_malloc_dbg(
   size_t size,
   int blockType,
   const char *filename,
   int linenumber 
);

Parametry

  • size
    Požadovaná velikost bloku paměti (v bajtech).

  • blockType
    Typ bloku paměti požadované: _CLIENT_BLOCK nebo _NORMAL_BLOCK.

  • filename
    Ukazatel myši na název zdrojového souboru, která požaduje přidělení operace, nebo hodnotu NULL.

  • linenumber
    Číslo zdrojového souboru, kde byla požadována operace přidělení nebo NULL.

filename a linenumber parametry jsou k dispozici pouze při _malloc_dbg byl volán explicitně nebo _CRTDBG_MAP_ALLOC byla definována konstanta preprocesoru.

Vrácená hodnota

Úspěšné dokončení této funkce vrací ukazatel na část bloku paměti přidělené uživatelským, volá funkci nového zpracování nebo vrátí hodnotu NULL.Úplný popis vrácení chování naleznete v následující části poznámky.Další informace o použití nové funkci zpracování naleznete malloc funkce.

Poznámky

_malloc_dbgladicí verzi je malloc funkce.Při _DEBUG není definována, každé volání _malloc_dbg na volání malloc.Obě malloc a _malloc_dbg přidělit blok paměti haldy základní, ale _malloc_dbg nabízí několik funkce ladění: vyrovnávacích pamětí na obou stranách uživatele část bloku test těsnosti parametr typu bloku sledovat přidělení určité typy a filename/linenumber informace k určení původu žádosti o přidělení.

_malloc_dbgpřidělí blok paměti se trochu více místa než požadovaný size.Další místo používá správce hald ladění bloků paměti ladění propojení a k aplikaci s ladicími informacemi hlavičky a přepsat vyrovnávací paměti.Při přidělení bloku uživatele část bloku je vyplněno hodnotou, 0xCD, a každý přepsat vyrovnávací paměti jsou vyplněny 0xFD.

_malloc_dbgNastaví errno na ENOMEM Pokud dojde k selhání přidělení paměti nebo pokud překračuje množství paměti potřebné (včetně režie uvedenou dříve) _HEAP_MAXREQ.Informace o této a dalších chybové kódy, Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Informace o jak jsou bloky paměti přidělené, inicializován a spravuje v ladicí verzi základní haldy Správa paměti a ladění haldy.

Informace o typech bloku přidělení a jejich použití naleznete v tématu Typy bloky na ladění haldy.

Požadavky

Rutina

Požadované záhlaví

_malloc_dbg

<crtdbg.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Knihovny

Ladění verze C Runtime knihovny pouze.

Příklad

Ukázku použití _malloc_dbg, viz crt_dbg1.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Ladění rutin

MALLOC

_calloc_dbg

_calloc_dbg