mprobe()

Выполнить проверку последовательности участка памяти

Прототип:

#include <malloc.h>
enum mcheck_status mprobe( void *ptr );

Аргументы:

ptr
A pointer to the start of the heap block.

Библиотека:

libc

Описание:

The mprobe() function attempts to perform consistency checks on the allocated block specified by ptr, which was previously returned by a call to calloc(), malloc() or realloc().

Consistency checks look for inconsistencies within the block header or in the block trailer byte. They may also detect block overruns.

The level of checking provided depends on which version of the allocator you've linked the application with:

One of the values of the mcheck_status enumeration:

Возвращаемое значение:

MCHECK_DISABLED
Consistency checking isn't currently enabled, or consistency information isn't available for this block.
MCHECK_OK
There are no inconsistencies in this block.
MCHECK_HEAD
The block header is corrupted.
MCHECK_TAIL
The block trailer byte is corrupted or there has been a block overrun.
MCHECK_FREE
The ptr argument doesn't point to an allocated heap block.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Предостережения:

Calling mprobe() on a pointer already deallocated by a call to free() or realloc() could corrupt the memory allocator's data structures and result in undefined behavior.

Тематические ссылки:

mallopt(), mcheck()




Предыдущий раздел: Описание API системной библиотеки