Query: dwarf_get_str
OS: freebsd
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
DWARF_GET_STR(3) BSD Library Functions Manual DWARF_GET_STR(3)NAMEdwarf_get_str -- retrieve a string from the DWARF string sectionLIBRARYDWARF 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);DESCRIPTIONFunction 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 VALUESFunction 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.ERRORSFunction 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.EXAMPLETo 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 ALSOdwarf(3), dwarf_init(3)BSDApril 3, 2011 BSD
Related Man Pages |
---|
dwarf_get_funcs(3) - freebsd |
dwarf_get_loclist_entry(3) - freebsd |
dwarf_func_name_offsets(3) - freebsd |
dwarf_func_die_offset(3) - freebsd |
dwarf_get_macro_details(3) - freebsd |
Similar Topics in the Unix Linux Community |
---|
Mac OS X: Based on UNIX - Solid As a Rock |
Scripts without shebang |
Is UNIX an open source OS ? |
Valid separator in time and date format |
UNIX Environment Setup - (Just starting!) |