Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
DWARF_FINISH(3)            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
     dwarf_elf_init(3), dwarf_get_elf(3), dwarf_init(3), dwarf_object_init(3),
     elf_end(3)
NetBSD 10.99                   November 9, 2011                   NetBSD 10.99