Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DWARF_GET_STR(3)	 BSD 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" sec-
     tion, 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. */
	   }

	   if (ret == DW_DLV_ERROR)
		   warnx("dwarf_get_str: %s", dwarf_errmsg(de));

ERRORS
     Function dwarf_get_str() can fail with:

     [DW_DLE_ARGUMENT]	One of the arguments dbg, string or len	was NULL.

     [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)

BSD				 April 3, 2011				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dwarf_get_str&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help