petsc-3.14.6 2021-03-30
Report Typos and Errors

PetscAttachDebuggerErrorHandler

Error handler that attaches a debugger to a running process when an error is detected. This routine is useful for examining variables, etc.

Synopsis

#include "petscsys.h"   
PetscErrorCode  PetscAttachDebuggerErrorHandler(MPI_Comm comm,int line,const char *fun,const char *file,PetscErrorCode num,PetscErrorType p,const char *mess,void *ctx)
Not Collective

Input Parameters

comm - communicator over which error occurred
line - the line number of the error (indicated by __LINE__)
file - the file in which the error was detected (indicated by __FILE__)
message - an error text string, usually just printed to the screen
number - the generic error number
p - PETSC_ERROR_INITIAL if error just detected, otherwise PETSC_ERROR_REPEAT
ctx - error handler context

Options Database Keys

-on_error_attach_debugger [noxterm,dbx,xxgdb,xdb,xldb,gdb] [- display name] - Activates debugger attachment
-start_in_debugger [noxterm,dbx,xxgdb,xdb,xldb,gdb] [- display name] [-debugger_ranks m,n]

Notes

By default the GNU debugger, gdb, is used. Alternatives are cuda-gdb, lldb, dbx and xxgdb,xldb (on IBM rs6000), xdb (on HP-UX).

Most users need not directly employ this routine and the other error handlers, but can instead use the simplified interface SETERR, which has the calling sequence

    SETERRQ(PETSC_COMM_SELF,number,p,message)

Notes for experienced users

Use PetscPushErrorHandler() to set the desired error handler. The currently available PETSc error handlers are
   PetscTraceBackErrorHandler()
   PetscAttachDebuggerErrorHandler()
   PetscAbortErrorHandler()
or you may write your own.

See Also

PetscSetDebuggerFromString(), PetscSetDebugger(), PetscSetDefaultDebugger(), PetscError(), PetscPushErrorHandler(), PetscPopErrorHandler(), PetscTraceBackErrorHandler(),
PetscAbortErrorHandler(), PetscMPIAbortErrorHandler(), PetscEmacsClientErrorHandler(), PetscReturnErrorHandler()

Level

developer

Location

src/sys/error/adebug.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages