dwarf_object_finish(3) freebsd man page | unix.com

Man Page: dwarf_object_finish

Operating Environment: freebsd

Section: 3

DWARF_FINISH(3) 					   BSD Library Functions Manual 					   DWARF_FINISH(3)

NAME
dwarf_finish, dwarf_object_finish -- free resources associated with a debug descriptor
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
SYNOPSIS
#include <libdwarf.h> int dwarf_finish(Dwarf_Debug dbg, Dwarf_Error *err); int dwarf_object_finish(Dwarf_Debug dbg, Dwarf_Error *err);
DESCRIPTION
The dwarf_finish() and dwarf_object_finish() functions are used to release the resources associated with a debug descriptor allocated by a prior call to dwarf_init(3) and dwarf_object_init(3) respectively. Argument dbg denotes a valid Dwarf_Debug instance. Argument err will be used to record error information in case of an error. After a call to dwarf_finish() or dwarf_object_finish(), the argument dbg will be invalid and should not be used further. For Dwarf_Debug descriptors opened using dwarf_init(3), the application would need to explicitly release the Elf instance associated with the descriptor by first retrieving the instance using dwarf_get_elf(3) and closing it using elf_end(3).
RETURN VALUES
These functions return DW_DLV_OK if successful. In case of an error, the functions return DW_DLV_ERROR and record additional information in argument err.
EXAMPLES
To deallocate a Dwarf_Debug instance allocated using dwarf_elf_init(3) use: Dwarf_Debug dbg; Dwarf_Error de; if (dwarf_finish(dbg, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_finish: %s", dwarf_errmsg(de)); To deallocate a Dwarf_Debug instance allocated using dwarf_object_init(3) use: Dwarf_Debug dbg; Dwarf_Error de; if (dwarf_object_finish(dbg, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_object_finish: %s", dwarf_errmsg(de)); To deallocate a Dwarf_Debug instance allocated using dwarf_init(3) use: Dwarf_Debug dbg; Dward_Error de; Elf *e; if (dwarf_get_elf(dbg, &e, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_get_elf: %s", dwarf_errmsg(&de)); if (dwarf_finish(dbg, &de) != DW_DLV_OK) errx(EXIT_FAILURE, "dwarf_finish: %s", dwarf_errmsg(de)); (void) elf_end(e);
SEE ALSO
elf_end(3), dwarf_elf_init(3), dwarf_get_elf(3), dwarf_init(3), dwarf_object_init(3)
BSD
November 9, 2011 BSD
Related Man Pages
dwarf_init(3) - freebsd
dwarf_elf_init(3) - freebsd
dwarf_get_abbrev(3) - freebsd
dwarf_get_fde_list(3) - freebsd
dwarf_get_str(3) - freebsd
Similar Topics in the Unix Linux Community
FreeBSD Kernel Internals, Dr. Marshall Kirk McKusick
Memory Leaks
Reason for no directory creation date
Valid separator in time and date format
Controlling user input