mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-25 00:27:39 +01:00
123 lines
2.8 KiB
Groff
123 lines
2.8 KiB
Groff
'\" t
|
|
.\" Manual page created with latex2man on Thu Aug 16 09:44:45 MDT 2007
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
|
.de Vb
|
|
.ft CW
|
|
.nf
|
|
..
|
|
.de Ve
|
|
.ft R
|
|
|
|
.fi
|
|
..
|
|
.TH "UNW\\_GET\\_PROC\\_NAME" "3" "16 August 2007" "Programming Library " "Programming Library "
|
|
.SH NAME
|
|
unw_get_proc_name
|
|
\-\- get name of current procedure
|
|
.PP
|
|
.SH SYNOPSIS
|
|
|
|
.PP
|
|
#include <libunwind.h>
|
|
.br
|
|
.PP
|
|
int
|
|
unw_get_proc_name(unw_cursor_t *cp,
|
|
char *bufp,
|
|
size_t
|
|
len,
|
|
unw_word_t *offp);
|
|
.br
|
|
.PP
|
|
.SH DESCRIPTION
|
|
|
|
.PP
|
|
The unw_get_proc_name()
|
|
routine returns the name of the
|
|
procedure that created the stack frame identified by argument
|
|
cp\&.
|
|
The bufp
|
|
argument is a pointer to a character buffer
|
|
that is at least len
|
|
bytes long. This buffer is used to return
|
|
the name of the procedure. The offp
|
|
argument is a pointer to a
|
|
word that is used to return the byte\-offset of the instruction\-pointer
|
|
saved in the stack frame identified by cp,
|
|
relative to the start
|
|
of the procedure. For example, if procedure foo()
|
|
starts at
|
|
address 0x40003000, then invoking unw_get_proc_name()
|
|
on a
|
|
stack frame with an instruction\-pointer value of 0x40003080 would
|
|
return a value of 0x80 in the word pointed to by offp
|
|
(assuming
|
|
the procedure is at least 0x80 bytes long).
|
|
.PP
|
|
Note that on some platforms there is no reliable way to distinguish
|
|
between procedure names and ordinary labels. Furthermore, if symbol
|
|
information has been stripped from a program, procedure names may be
|
|
completely unavailable or may be limited to those exported via a
|
|
dynamic symbol table. In such cases, unw_get_proc_name()
|
|
may return the name of a label or a preceeding (nearby) procedure.
|
|
However, the offset returned through offp
|
|
is always relative to
|
|
the returned name, which ensures that the value (address) of the
|
|
returned name plus the returned offset will always be equal to the
|
|
instruction\-pointer of the stack frame identified by cp\&.
|
|
.PP
|
|
.SH RETURN VALUE
|
|
|
|
.PP
|
|
On successful completion, unw_get_proc_name()
|
|
returns 0.
|
|
Otherwise the negative value of one of the error\-codes below is
|
|
returned.
|
|
.PP
|
|
.SH THREAD AND SIGNAL SAFETY
|
|
|
|
.PP
|
|
unw_get_proc_name()
|
|
is thread\-safe. If cursor cp
|
|
is
|
|
in the local address\-space, this routine is also safe to use from a
|
|
signal handler.
|
|
.PP
|
|
.SH ERRORS
|
|
|
|
.PP
|
|
.TP
|
|
UNW_EUNSPEC
|
|
An unspecified error occurred.
|
|
.TP
|
|
UNW_ENOINFO
|
|
Libunwind
|
|
was unable to determine
|
|
the name of the procedure.
|
|
.TP
|
|
UNW_ENOMEM
|
|
The procedure name is too long to fit
|
|
in the buffer provided. A truncated version of the name has been
|
|
returned.
|
|
.PP
|
|
In addition, unw_get_proc_name()
|
|
may return any error
|
|
returned by the access_mem()
|
|
call\-back (see
|
|
unw_create_addr_space(3)).
|
|
.PP
|
|
.SH SEE ALSO
|
|
|
|
.PP
|
|
libunwind(3),
|
|
unw_get_proc_info(3)
|
|
.PP
|
|
.SH AUTHOR
|
|
|
|
.PP
|
|
David Mosberger\-Tang
|
|
.br
|
|
Email: \fBdmosberger@gmail.com\fP
|
|
.br
|
|
WWW: \fBhttp://www.nongnu.org/libunwind/\fP\&.
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|