libexc(3F)

trace_back_stack, trace_back_stack_and_print - Calls stack trace library for Fortran applications

As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.

NAME
     trace_back_stack, trace_back_stack_and_print - Calls stack trace
     library for Fortran applications

SYNOPSIS
     integer*4 trace_back_stack
     integer*4 i
     integer*8 addrs(100)
     character*100 names(100)
     i = trace_back_stack(0, addrs, names, 100, 100)

     call trace_back_stack_and_print()

     integer*8 addr, entry
     character*100 name
     call exc_dladdr(addr, name, 100, entry)

IMPLEMENTATION
     IRIX systems

DESCRIPTION
     The libexc library provides the functionality for user-level call
     stack unwind.

     trace_back_stack is used to unwind the call stack at the time it is
     called.  The first argument sets the number of stack frames to be
     unwound.  If it is set to zero, the unwind continues up to main or up
     to _nsproc/_fork for child processes.  The second argument is the
     array that contains the addresses of the callers in the stack after
     the unwind is completed.  The third argument contains the names of the
     functions in the stack after the unwind is completed.  If this
     argument is set to NULL, it disables procedure name extraction.  The
     fourth argument is the size of the array of callers and the fifth
     argument is the size of the procedure name strings.

     trace_back_stack_and_print unwinds the call stack (up to main or up to
     _nsproc/_fork for child processes) and prints it to the standard
     output.  First, the pid of the process and the number of frames in the
     stack are printed and then, for each frame, the program counter and
     the function name are printed.

     exc_dladdr maps a text address to the procedure that includes it.  The
     first argument is the address to be mapped.  The second argument will
     contain the procedure name upon return, and the third argument is the
     size of the procedure name string.  The fourth argument will contain
     the procedure entry address upon return.

NOTES
     Executables complying to the O32 ABI must be explicitly linked with
     libexc.

ENVIRONMENT VARIABLES
     _LIBEXC_CACHE         Enables dwarf information caching (N32/N64 ABIs
                           only).

     _LIBEXC_NO_PROC_NAME  Disables procedure name extraction (N32/N64 ABIs
                           only).

     _LIBEXC_INIT          Forces some dwarf information loading at the
                           time of the first call to the libexc functions
                           (N32/N64 ABIs only).  Alternatively, a call to
                           exc_init() would have the same effect of forced
                           pre-initialization.

DIAGNOSTICS
     Upon successful completion, both functions return the number of call
     stack frames that were unwound.  In the event of failure, a zero value
     is returned.

SEE ALSO
     speedshop(1), libexc(3)

     This man page is available only online.