dladdr
Name
dladdr -- find the shared object containing a given address
Synopsis
#include <dlfcn.h>
typedef struct {
const char *dli_fname ;
void *dli_fbase ;
const char *dli_sname ;
void *dli_saddr ;
}Dl_info;
|
int dladdr
(const void *
addr, Dl_info *
dlip);
Description
The dladdr() function shall query the dynamic linker for
information about the shared object containing the address addr.
The information shall be returned in the user supplied data structure referenced by
dlip.
The structure shall contain at least the following members:
dli_fname
|
|
The pathname of the shared object containing the address |
dli_fbase
|
|
The base address at which the shared object is mapped into the address space of the calling process.
|
dli_sname
|
|
The name of the nearest runtime symbol with value less than or equal to addr.
Where possible, the symbol name shall be returned as it would appear in C source code.
If no symbol with a suitable value is found,both this field and dli_saddr shall
be set to NULL. |
dli_saddr
|
|
The address of the symbol returned in dli_sname .
This address has type "pointer to type", where
type is the type of the symbol dli_sname .
Example: If the symbol in
dli_sname is a function, then the type of
dli_saddr is of type"pointer to function".
|
The behavior of dladdr() is only specified in dynamically linked programs.
Return Value
On success, dladdr() shall return non-zero, and the structure referenced by
dlip shall be filled in as described.
Otherwise,
dladdr() shall return zero, and the cause of the error can be fetched with
dlerror().
Environment
LD_LIBRARY_PATH
|
|
directory search-path for object files
|
Cjdto