The ddpi_module_extract_C_CPP_information operation uses the given Ddpi_Module object to locate the module or program object, and extract all of the information needed to load a DWARF object for C/C++.
The ddpi_module_extract_C_CPP_information operation requires that a Ddpi_EntryPt with the symbol name of CEESTART has been created to properly point to the entry point of the module.
This is a specific helper operation for C/C++ debugging. It does not support other languages. It will not attempt to process a non-C/C++ compile unit (CU).
ddpi_module_extract_C_CPP_information creates and lists the Ddpi_Elf objects associated with the given Ddpi_Module object. It then sets the ret_elf_list to an array of Ddpi_Elf descriptors, and sets the ret_elf_cnt of the items in that list to the number of entries in the array.
The caller must free the Ddpi_Elf list but not the individual Ddpi_Elf objects because these are not copies, but are the actual Ddpi_Elf objects stored in the Ddpi_Module.
The code to free ret_elf_list is:
rc = ddpi_dealloc( info, *ret_elf_list, DDPI_DLA_LIST);int ddpi_module_extract_C_CPP_information (
Ddpi_Module module,
Ddpi_Elf** ret_elf_list,
int* ret_elf_cnt,
Ddpi_Error* error);