Test the memory for corruption. This can be called at any time between PetscInitialize() and PetscFinalize()


#include "petscsys.h" 
PetscErrorCode PetscMallocValidate(int line, const char function[], const char file[])

Input Parameters#

  • line - line number where call originated.

  • function - name of function calling

  • file - file where function is

Return value#

The number of errors detected.

Options Database Keys:.

  • -malloc_test - turns this feature on when PETSc was not configured with --with-debugging=0

  • -malloc_debug - turns this feature on anytime


Error messages are written to stdout.

This is only run if PetscMallocSetDebug() has been called which is set by -malloc_test (if debugging is turned on) or -malloc_debug (any time)

You should generally use CHKMEMQ as a short cut for calling this routine.

No output is generated if there are no problems detected.

Fortran Note#

The Fortran calling sequence is simply PetscMallocValidate(ierr)

Developers Note#

Uses the flg TRdebugLevel (set as the first argument to PetscMallocSetDebug()) to determine if it should run

See Also#

CHKMEMQ, PetscMalloc(), PetscFree(), PetscMallocSetDebug()





Edit on GitLab

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages