Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DWARF_NEXT_TYPES_SECT... BSD Library Functions Manual DWARF_NEXT_TYPES_SECT...

NAME
     dwarf_next_types_section -- step through .debug_types sections in a debug
     context

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_next_types_section(Dwarf_Debug dbg, Dwarf_Error *err);

DESCRIPTION
     Function dwarf_next_types_section() steps through the ".debug_types" sec-
     tions 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	iter-
     ate though	the type units associated with the current ".debug_types" sec-
     tion.

RETURN VALUES
     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.

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

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

ERRORS
     The dwarf_next_types_section() function may fail with the following er-
     rors:

     [DW_DLE_ARGUMENT]	Argument dbg was NULL.

SEE ALSO
     dwarf(3), dwarf_init(3), dwarf_next_cu_header_c(3)

BSD			       December	20, 2014			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | COMPATIBILITY | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dwarf_next_types_section&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help