Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dwarf_get_str(3) [freebsd man page]

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'' 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. 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. EXAMPLE
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)); SEE ALSO
dwarf(3), dwarf_init(3) BSD
April 3, 2011 BSD

Check Out this Related Man Page

DWARF_DIEOFFSET(3)					   BSD Library Functions Manual 					DWARF_DIEOFFSET(3)

NAME
dwarf_die_CU_offset, dwarf_die_CU_offset_range, dwarf_dieoffset, dwarf_get_cu_die_offset_given_cu_header_offset, dwarf_get_cu_die_offset_given_cu_header_offset_b -- return offsets of DWARF debugging information entries LIBRARY
DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS
#include <libdwarf.h> int dwarf_die_CU_offset(Dwarf_Die die, Dwarf_Off *ret_offset, Dwarf_Error *err); int dwarf_die_CU_offset_range(Dwarf_Die die, Dwarf_Off *cu_offset, Dwarf_Off *cu_length, Dwarf_Error *err); int dwarf_dieoffset(Dwarf_Die die, Dwarf_Off *ret_offset, Dwarf_Error *err); int dwarf_get_cu_die_offset_given_cu_header_offset(Dwarf_Debug dbg, Dwarf_Off in_cu_header_offset, Dwarf_Off *out_cu_die_offset, Dwarf_Error *err); int dwarf_get_cu_die_offset_given_cu_header_offset_b(Dwarf_Debug dbg, Dwarf_Off in_cu_header_offset, Dwarf_Bool is_info, Dwarf_Off *out_cu_die_offset, Dwarf_Error *err); DESCRIPTION
These functions are used to retrieve offsets for DWARF debugging information entries. Function dwarf_die_CU_offset() returns the offset of the debugging information entry referenced by argument die relative to the start of its containing compilation unit. Argument ret_offset should point to the location that is to hold the returned offset. If argument err is non- NULL, it will be used to return an error descriptor in case of an error. Function dwarf_die_CU_offset_range() returns the section-relative offset and length of the compilation unit containing the debugging informa- tion entry referenced by argument die. Argument cu_offset should point to a location that will hold the returned offset. Argument cu_length should point to a location that will hold the returned length of the compilation unit. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. Function dwarf_dieoffset() retrieves the section-relative offset of the debugging information entry referenced by argument die. Argument ret_offset should point to a location that is to hold the returned section-relative offset. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. Function dwarf_get_cu_die_offset_given_cu_header_offset() returns the offset for the first debugging information entry for a compilation unit, given an offset to the header of the compilation unit. Argument dbg should reference a valid debugging context allocated using dwarf_init(3). Argument in_cu_header_offset contains the offset to the start of a compilation unit. Argument out_cu_die_offset points to a location that will hold the returned offset. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. Function dwarf_get_cu_die_offset_given_cu_header_offset_b() behaves identically to the function dwarf_get_cu_die_offset_given_cu_header_offset() when the argument is_info is non-zero. When the argument is_info is zero, function dwarf_get_cu_die_offset_given_cu_header_offset_b() returns the offset for the first debugging information entry for a type unit, given an offset to the header of the type unit in argument in_cu_header_offset. Argument out_cu_die_offset points to a location that will hold the returned offset. If the argument err is non-NULL, it will be used to return an error descriptor in case of an error. RETURN VALUES
On success, these functions return DW_DLV_OK. In case of an error, these functions return DW_DLV_ERROR and set argument err. Function dwarf_get_cu_die_offset_given_cu_header_offset() and dwarf_get_cu_die_offset_given_cu_header_offset_b() returns DW_DLV_NO_ENTRY and sets argument err if there is no compilation or type unit located at the offset specified in argument in_cu_header_offset. ERRORS
These functions may fail with the following errors: [DW_DLE_ARGUMENT] One of the arguments cu_length, cu_offset, dbg, die, out_cu_die_offset or ret_offset was NULL. [DW_DLE_NO_ENTRY] Argument in_cu_header_offset specified an unknown offset. SEE ALSO
dwarf(3), dwarf_next_cu_header(3), dwarf_offdie(3), dwarf_offdie_b(3) BSD
December 21, 2014 BSD
Man Page