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_NEXT_TYPES_SECTION(3) FreeBSD Library Functions Manual DWARF_NEXT_TYPES_SECTION(3)

dwarf_next_types_section
step through .debug_types sections in a debug context

DWARF Access Library (libdwarf, -ldwarf)

#include <libdwarf.h>

int
dwarf_next_types_section(Dwarf_Debug dbg, Dwarf_Error *err);

Function dwarf_next_types_section() steps through the “.debug_types” sections found in a debug context.

Argument dbg should reference a DWARF debug context allocated using dwarf_init(3). Argument err should point to a location that will hold an error descriptor in case of an error.

When a DWARF debug context is allocated using dwarf_init(3), an internal pointer associated with the context will point to the first “.debug_types” section present in the debug object. When the application calls function dwarf_next_types_section(), this internal pointer will move to the next “.debug_types” section present. On stepping past the last “.debug_types” section left in the debug context, function dwarf_next_types_section() returns DW_DLV_NO_ENTRY. The next call to the function will restart from the first “.debug_types” section in the debug context.

Application code should call function dwarf_next_cu_header_c(3) to iterate though the type units associated with the current “.debug_types” section.

On success, function dwarf_next_types_section() returns DW_DLV_OK.

In case of an error, it returns DW_DLV_ERROR and sets argument err. When there are no more “.debug_types” sections left to traverse, it returns DW_DLV_NO_ENTRY.

To iterate though every type unit in all the “.debug_types” sections found in a debug context:
Dwarf_Debug dbg;
Dwarf_Sig8 sig8;
Dwarf_Unsigned typeoff;
Dwarf_Error de;

... allocate dbg using dwarf_init() etc ...

do {
	while ((ret = dwarf_next_cu_header_c(dbg, 0, NULL, NULL, NULL,
	    NULL, NULL, NULL, &sig8, &typeoff, NULL, &de)) == DW_DLV_OK) {
		/* Access DIEs etc ... */
	}
} while (dwarf_next_types_section(dbg, &de) == DW_DLV_OK);

This function is an extension to the DWARF(3) API.

The dwarf_next_types_section() function may fail with the following errors:
[]
Argument dbg was NULL.

dwarf(3), dwarf_init(3), dwarf_next_cu_header_c(3)
December 20, 2014 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.