_CrtDoForAllClientObjects
Yığındaki tüm _CLIENT_BLOCK
türler için uygulama tarafından sağlanan bir işlevi çağırır (yalnızca hata ayıklama sürümü).
Sözdizimi
void _CrtDoForAllClientObjects(
void ( * pfn )( void *, void * ),
void *context
);
Parametreler
pfn
Uygulama tarafından sağlanan işlev geri çağırma işlevinin işaretçisi. Bu işlevin ilk parametresi verileri gösterir. İkinci parametre, çağrısına _CrtDoForAllClientObjects
geçirilen bağlam işaretçisidir.
context
Uygulama tarafından sağlanan işleve geçirmek için uygulama tarafından sağlanan bağlamın işaretçisi.
Açıklamalar
İşlev, _CrtDoForAllClientObjects
yığının bağlı listesinde türüne sahip _CLIENT_BLOCK
bellek blokları arar ve bu türdeki bir blok bulunduğunda uygulama tarafından sağlanan işlevi çağırır. Bulunan blok ve context
parametresi, uygulama tarafından sağlanan işleve bağımsız değişken olarak geçirilir. Hata ayıklama sırasında bir uygulama, belleği ayırmak için hata ayıklama yığını işlevlerini açıkça çağırarak ve bloklara blok türü atanacağını _CLIENT_BLOCK
belirterek belirli bir ayırma grubunu izleyebilir. Bu bloklar daha sonra ayrı olarak izlenebilir ve sızıntı algılama ve bellek durumu raporlaması sırasında farklı şekilde bildirilebilir.
Bayrağın _CRTDBG_ALLOC_MEM_DF
bit alanı _crtDbgFlag
açık değilse hemen _CrtDoForAllClientObjects
döndürür. Tanımlanmadığında _DEBUG
, çağrısı _CrtDoForAllClientObjects
ön işleme sırasında kaldırılır.
Türü ve diğer hata ayıklama işlevleri tarafından nasıl kullanılabildiği hakkında _CLIENT_BLOCK
daha fazla bilgi için bkz . Hata ayıklama yığınındaki blok türleri. Temel yığının hata ayıklama sürümünde bellek bloklarının nasıl ayrıldığı, başlatıldığı ve yönetildiğini öğrenmek için bkz . CRT hata ayıklama yığını ayrıntıları.
ise pfn
NULL
, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno
, _doserrno
, _sys_errlist
ve _sys_nerr
olarak ayarlanır EINVAL
ve işlev döndürür.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_CrtDoForAllClientObjects |
<crtdbg.h>, <errno.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar: Yalnızca evrensel C çalışma zamanı kitaplıklarının sürümlerinde hata ayıklama.
Ayrıca bkz.
Hata ayıklama yordamları
_CrtSetDbgFlag
Yığın durumu raporlama işlevleri
_CrtReportBlockType