FreeBSD manual
download PDF document: dwarf_get_str.3.pdf
DWARF_GET_STR(3) FreeBSD Library Functions Manual DWARF_GET_STR(3)
NAME
dwarf_get_str - retrieve a string from the DWARF string section
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
SYNOPSIS
#include <libdwarf.h>
int
dwarf_get_str(Dwarf_Debug dbg, Dwarf_Off offset, char **string,
Dwarf_Signed *len, Dwarf_Error *err);
DESCRIPTION
Function dwarf_get_str() retrieves a NUL-terminated string from the DWARF
string section ".debug_str".
Argument dbg should reference a DWARF debug context allocated using
dwarf_init(3).
Argument offset should be an offset, relative to the ".debug_str"
section, specifying the start of the desired string.
Argument string should point to a location which will hold a returned
pointer to a NUL-terminated string.
Argument len should point to a location which will hold the length of the
returned string. The returned length does not include the space needed
for the NUL-terminator.
If argument err is not NULL, it will be used to store error information
in case of an error.
RETURN VALUES
Function dwarf_get_str() returns DW_DLV_OK when it succeeds. It returns
DW_DLV_NO_ENTRY if there is no ".debug_str" section associated with the
specified debugging context, or if the provided offset offset is at the
very end of ".debug_str" section. In case of an error, it returns
DW_DLV_ERROR and sets the argument err.
EXAMPLES
To retrieve all the strings in the DWARF string section, use:
Dwarf_Debug dbg;
Dwarf_Off offset;
Dwarf_Signed len;
Dwarf_Error de;
char *str;
int ret
offset = 0;
while ((ret = dwarf_get_str(dbg, offset, &str, &len, &de)) ==
DW_DLV_OK) {
/* .. Use the retrieved string. .. */
offset += len + 1; /* Account for the terminating NUL. */
}
[DW_DLE_ARGUMENT] Argument offset was out of range.
[DW_DLE_NO_ENTRY] The debugging context dbg did not contain a
".debug_str" string section.
[DW_DLE_NO_ENTRY] Argument offset was at the very end of the
".debug_str" section.
SEE ALSO
dwarf(3), dwarf_init(3)
FreeBSD 14.0-RELEASE-p11 April 3, 2011 FreeBSD 14.0-RELEASE-p11