Group section
Hi Josh I am getting error on the following code, and it looks like to be related to group sections. As you can see I changed the dwarf_elf_init to dwarf_begin_elf, but passed NULL on the third parameter. Do you know how should I actually deal with it? 91 bool DwarfHandle::init_dbg() 92 { 93 //int status; 94 //Dwarf_Error err; 95 if (init_dwarf_status == dwarf_status_ok) { 96 return true; 97 } 98 99 if (init_dwarf_status == dwarf_status_error) { 100 return false; 101 } 102 103 //status = dwarf_elf_init(file->e_elfp(), DW_DLC_READ, 104 // err_func, &file_data, &file_data, &err); 105 106 file_data = dwarf_begin_elf(file->e_elfp(), DWARF_C_READ, NULL); 107 cerr << "Error message:" << dwarf_errmsg(-1) << endl; 108 if (!file_data) { 109 init_dwarf_status = dwarf_status_error; 110 return false; 111 }
Re: Group section
On 03/21/2017 12:38 PM, SASHA NICOLAS DA ROCHA PINHEIRO wrote: > > Hi Josh > I am getting error on the following code, and it looks like to be related to > group sections. What is the error? > As you can see I changed the dwarf_elf_init to dwarf_begin_elf, but passed > NULL on the third parameter. > Do you know how should I actually deal with it? > > 91 bool DwarfHandle::init_dbg() > > 92 { > > 93 //int status; > > 94 //Dwarf_Error err; > > 95 if (init_dwarf_status == dwarf_status_ok) { > > 96 return true; > > 97 } > > 98 > > 99 if (init_dwarf_status == dwarf_status_error) { > > 100 return false; > > 101 } > > 102 > > 103 //status = dwarf_elf_init(file->e_elfp(), DW_DLC_READ, > > 104 // err_func, &file_data, &file_data, &err); > > 105 > > 106 file_data = dwarf_begin_elf(file->e_elfp(), DWARF_C_READ, NULL); > > 107 cerr << "Error message:" << dwarf_errmsg(-1) << endl; > > 108 if (!file_data) { > > 109 init_dwarf_status = dwarf_status_error; > > 110 return false; > > 111 } >
Re: Group section
That's the problem. It says "no error" once, in another call it says "no reference value", and in another call "no DWARF information". De: Josh Stone Enviado: terça-feira, 21 de março de 2017 14:53:12 Para: SASHA NICOLAS DA ROCHA PINHEIRO; elfutils-devel@sourceware.org Assunto: Re: Group section On 03/21/2017 12:38 PM, SASHA NICOLAS DA ROCHA PINHEIRO wrote: > > Hi Josh > I am getting error on the following code, and it looks like to be related to > group sections. What is the error? > As you can see I changed the dwarf_elf_init to dwarf_begin_elf, but passed > NULL on the third parameter. > Do you know how should I actually deal with it? > > 91 bool DwarfHandle::init_dbg() > > 92 { > > 93 //int status; > > 94 //Dwarf_Error err; > > 95 if (init_dwarf_status == dwarf_status_ok) { > > 96 return true; > > 97 } > > 98 > > 99 if (init_dwarf_status == dwarf_status_error) { > > 100 return false; > > 101 } > > 102 > > 103 //status = dwarf_elf_init(file->e_elfp(), DW_DLC_READ, > > 104 // err_func, &file_data, &file_data, &err); > > 105 > > 106 file_data = dwarf_begin_elf(file->e_elfp(), DWARF_C_READ, NULL); > > 107 cerr << "Error message:" << dwarf_errmsg(-1) << endl; > > 108 if (!file_data) { > > 109 init_dwarf_status = dwarf_status_error; > > 110 return false; > > 111 } >
Re: Group section
On Tue, Mar 21, 2017 at 08:46:25PM +, SASHA NICOLAS DA ROCHA PINHEIRO wrote: > That's the problem. It says "no error" once, in another call it says > "no reference value", and in another call "no DWARF information". > [...] > > 106 file_data = dwarf_begin_elf(file->e_elfp(), DWARF_C_READ, NULL); > > > > 107 cerr << "Error message:" << dwarf_errmsg(-1) << endl; > > > > 108 if (!file_data) { > > > > 109 init_dwarf_status = dwarf_status_error; > > > > 110 return false; > > > > 111 } Note that if file_data != NULL then the result of dwarf_errmsg (-1) is undefined. You should first check file_data == NULL before calling dwarf_errmsg (-1). Cheers, Mark