_malloc_dbg
Přidělí blok paměti haldy další místo pro hlavičku ladění a přepsat vyrovnávací paměti (pouze verze ladění).
void *_malloc_dbg( size_t size, int blockType, const char *filename, int linenumber );
Parametry
size
Požadovaná velikost bloku paměti (v bajtech).blockType
Požadovaný typ bloku paměti: _CLIENT_BLOCK nebo _NORMAL_BLOCK.filename
Ukazatel na název zdrojového souboru, který požádal přidělení operace nebo hodnota NULL.linenumber
Číslo řádku na zdrojový soubor, kde byla požadována operace přidělení nebo hodnota NULL.
filename a linenumber parametry jsou k dispozici pouze při _malloc_dbg byla volána explicitně nebo _CRTDBG_MAP_ALLOC byla definována preprocessor konstanta.
Vrácená hodnota
Na úspěšné dokončení této funkce vrací ukazatel na uživatele část bloku přidělené paměti, volá funkci novou obslužnou rutinu nebo vrátí hodnotu NULL.Úplný popis návratový chování naleznete v následující části poznámky.Další informace o způsobu nové funkce obslužné rutiny naleznete přidělit funkce.
Poznámky
_malloc_dbgje ladicí verze přidělit funkce.Při _DEBUG není definována, každé volání _malloc_dbg snižuje na volání malloc.Oba malloc a _malloc_dbg přidělit blok paměti základní haldy, ale _malloc_dbg nabízí několik funkce ladění: ve vyrovnávací paměti na obou stranách část bloku k testování problémů s nevracením paměti, parametr typu block sledování konkrétní přidělení typů s uživatelským a filename/linenumber informace k určení původu požadavky na přidělení.
_malloc_dbgpřiděluje blok paměti se mírně více místa, než požadovaný size.Další místo se používá haldy správcem ladění propojit bloky paměti ladění a k poskytování aplikací s informacemi hlavičky a ladění a přepsat vyrovnávací paměti.Při přidělení bloku uživatele část bloku je zaplněna hodnota 0xCD a každá z vyrovnávací paměti přepsat jsou vyplněny 0xFD.
_malloc_dbgNastaví errno k ENOMEM selhání přidělení paměti, nebo v případě potřeby paměti (včetně nároky na výkon výše uvedené) překročí _HEAP_MAXREQ.Informace o této a dalších kódy chyb naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.
Informace o způsobu jsou bloky paměti přidělené, inicializován a správy v ladicí verze základní haldy, naleznete v části Podrobnosti haldy ladění CRT.Informace o typech bloku přidělení a způsobu jejich použití naleznete v tématu typy bloky haldy ladění.Informace o rozdílech mezi volání funkce standardní haldy a jeho ladicí verze v sestavení ladicí verze aplikace naleznete v tématu Ladění verzí funkcí přidělení haldy.
Požadavky
Rutina |
Požadovaný hlavičkový soubor |
---|---|
_malloc_dbg |
< crtdbg.h > |
Další informace o kompatibilitě, podívejte se na téma kompatibility v zavedení.
Knihovny
Ladicí verze knihoven C run-time pouze.
Příklad
Příklad použití _malloc_dbg, naleznete v části crt_dbg1.
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu příklady vyvolat platformy.