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