PetscStackPushNoCheck#

Pushes a new function name and line number onto the PETSc default stack that tracks where the running program is currently in the source code.

Synopsis#

#include <petscsys.h>
void PetscStackPushNoCheck(char *funct,int petsc_routine,PetscBool hot);

Not Collective

Input Parameters#

  • funct - the function name

  • petsc_routine - 2 user function, 1 PETSc function, 0 some other function

  • hot - indicates that the function may be called often so expensive error checking should be turned off inside the function

Notes#

In debug mode PETSc maintains a stack of the current function calls that can be used to help to quickly see where a problem has occurred, for example, when a signal is received without running in the debugger. It is recommended to use the debugger if extensive information is needed to help debug the problem.

This version does not check the memory corruption (an expensive operation), use PetscStackPush() to check the memory.

Use PetscStackPushExternal() for a function call that is about to be made to a non-PETSc or user function (such as BLAS etc).

The default stack is a global variable called petscstack.

See Also#

PetscAttachDebugger(), PetscStackCopy(), PetscStackView(), PetscStackPopNoCheck(), PetscCall(), PetscFunctionBegin(), PetscFunctionReturn(), PetscFunctionBeginHot(), PetscFunctionBeginUser(), PetscStackPush(), PetscStackPop, PetscStackPushExternal()

Level#

developer

Location#

include/petscerror.h


Edit on GitLab

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