# 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. Not Collective


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

## 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
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscerror.h.html#PetscStackPushNoCheck">include/petscerror.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscerror.h)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
