GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DWARF_FINISH(3) FreeBSD Library Functions Manual DWARF_FINISH(3)

dwarf_finish, dwarf_object_finish
free resources associated with a debug descriptor

DWARF Access Library (libdwarf, -ldwarf)

#include <libdwarf.h>

int
dwarf_finish(Dwarf_Debug dbg, Dwarf_Error *err);

int
dwarf_object_finish(Dwarf_Debug dbg, Dwarf_Error *err);

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

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.

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

dwarf_elf_init(3), dwarf_get_elf(3), dwarf_init(3), dwarf_object_init(3), elf_end(3)
November 9, 2011 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.