DWARF_ATTRLIST(3) | Library Functions Manual | DWARF_ATTRLIST(3) |
dwarf_attrlist
—
#include <libdwarf.h>
int
dwarf_attrlist
(Dwarf_Die die,
Dwarf_Attribute **attrbuf,
Dwarf_Signed *attrcount, Dwarf_Error
*err);
dwarf_attrlist
() retrieves the DWARF attribute
descriptors associated with a debugging information entry descriptor in
argument die. The descriptors are returned as an array
of values of the opaque type Dwarf_Attribute. The data
associated with each returned attribute descriptor may be queried using the
form query functions in the
dwarf(3) API set.
Argument attrbuf points to a location that will hold a pointer to the returned array of DWARF attribute descriptors. Argument attrcount points to a location that will hold the number of descriptors in the returned array.
If argument err is non-NULL, it is used to return an error descriptor in case of an error.
dwarf_dealloc
() function.
dwarf_attrlist
() returns
DW_DLV_OK on success.
If the debugging information entry descriptor denoted by argument
die does not contain any attribute, the function
returns DW_DLV_NO_ENTRY
and sets argument
err. For other errors, it returns
DW_DLV_ERROR
and sets argument
err.
Dwarf_Die dw_die; Dwarf_Error dw_e; Dwarf_Unsigned dw_count; Dwarf_Attribute *dw_attributes; int error, i; ... variable dw_die contains a reference to the DIE of interest ... /* Retrieve the attribute list from the DIE. */ if ((error = dwarf_attrlist(dw_die, &dw_attributes, &dw_count, &dw_e)) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_attrlist: %s", dwarf_errmsg(dw_e)); /* Process the attribute list. */ for (i = 0; i < dw_count; ++i) { /* Use the returned pointers in dw_attributes[i] here. */ }
dwarf_diename
() can fail with the following
errors:
DW_DLE_ARGUMENT
]DW_DLE_NO_ENTRY
]DW_DLE_MEMORY
]November 9, 2011 | NetBSD 9.2 |