Share via


_aligned_free_dbg

Libère un bloc de mémoire qui a été alloué avec _aligned_malloc ou _aligned_offset_malloc (version de débogage uniquement).

void _aligned_free_dbg(    void *memblock );

Paramètres

  • memblock
    Pointeur vers le bloc de mémoire qui a été retourné à la fonction _aligned_malloc ou _aligned_offset_malloc.

Notes

La fonction _aligned_free_dbg est une version de débogage de la fonction _aligned_free. Quand _DEBUG n'est pas défini, chaque appel à _aligned_free_dbg est réduit à un appel à _aligned_free. _aligned_free et _aligned_free_dbg libèrent toutes deux un bloc de mémoire dans le tas de base, mais _aligned_free_dbg gère une fonctionnalité de débogage : la capacité à conserver les blocs libérés dans la liste liée du tas pour simuler des conditions de mémoire insuffisante.

_aligned_free_dbg effectue une vérification de validité sur tous les fichiers et emplacements de blocs spécifiés avant de procéder à la libération. Il n'est pas prévu que l'application fournisse ces informations. Quand un bloc de mémoire est libéré, le gestionnaire de tas de débogage vérifie automatiquement l'intégrité des mémoires tampons de chaque côté de la partie utilisateur et émet un rapport d'erreurs si un remplacement a eu lieu. Si le champ de bits _CRTDBG_DELAY_FREE_MEM_DF de l'indicateur _crtDbgFlag est défini, le bloc libéré est renseigné avec la valeur 0xDD, le type de bloc _FREE_BLOCK lui est affecté et il est conservé dans la liste liée du tas des blocs de mémoire.

Si une erreur se produit pendant la libération de la mémoire, errno est défini avec les informations du système d'exploitation sur la nature de la défaillance. Pour plus d'informations, voir errno, _doserrno, _sys_errlist et _sys_nerr.

Pour plus d'informations sur la façon dont les blocs de mémoire sont alloués, initialisés et gérés dans la version de débogage du tas de base, voir Détails du tas de débogage CRT. Pour plus d'informations sur les types de blocs d'allocation et sur leur utilisation, voir Types de bloc sur le tas de débogage. Pour plus d'informations sur les différences entre l'appel à une fonction de tas standard et sa version de débogage dans une build de débogage d'une application, voir Versions Debug des fonctions d'allocation du tas.

Configuration requise

Routine

En-tête requis

_aligned_free_dbg

<crtdbg.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, voir Exemples d'appel de plateforme.

Voir aussi

Référence

Routines de débogage