| DWARF_GET_STR(3) | Library Functions Manual | DWARF_GET_STR(3) | 
dwarf_get_str —
#include <libdwarf.h>
int
  
  dwarf_get_str(Dwarf_Debug dbg,
    Dwarf_Off offset, char **string,
    Dwarf_Signed *len, Dwarf_Error
    *err);
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.
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.
dwarf_get_str() can fail with:
DW_DLE_ARGUMENT]DW_DLE_ARGUMENT]DW_DLE_NO_ENTRY]DW_DLE_NO_ENTRY]
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. */
}
if (ret == DW_DLV_ERROR)
	warnx("dwarf_get_str: %s", dwarf_errmsg(de));
| April 3, 2011 | NetBSD 9.4 |