libexc(3F)
trace_back_stack, trace_back_stack_and_print - Calls stack trace library for Fortran applications
As shipped in IRIX 6.5.7. 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.