On 3/10/21 10:38 PM, Archana Deshmukh wrote:
Thanks Michael for the response. Actually, I have only this much
information.
I need to get information related to
For global variables , I read the address "55b51afea000" from >
/proc/<pid>/maps file. I use DW_OP_addr parameter to retrieve the address.
55b51afea000 + DW_OP_addr gives me the address of global variables.
For function, I read the address "55b51afea000" from >
/proc/<pid>/maps file.. I use DW_AT_low_pc parameter to retrieve the
function starting address
Now, I need to read the local variables address. As I am not executing
the process, I cannot use registers. I need to use DW_OP_call_frame_cfa.
I am not able to understand how to retrieve addresses using
DW_OP_call_frame_cfa.
Any pointer or suggestion are most welcome.
Attach to the process using ptrace() and you can get process registers.
Best Regards,
Archana
On Tue, Mar 9, 2021 at 11:07 PM Michael Eager <ea...@eagercon.com
<mailto:ea...@eagercon.com>> wrote:
It's difficult to offer advice with such a spare description.
You might read the executable and relocate the .debug_info and
other debug sections using the process map. If you have the
process image, this probably would not be necessary.
On 3/8/21 1:49 AM, Archana Deshmukh via Dwarf-Discuss wrote:
> Hello,
>
> I have a pinatrace.out and process map of a file.
> With this input, I need to build a symbol table.
>
> Best Regards,
> Archana Deshmukh
>
> On Sun, Mar 7, 2021 at 10:29 AM Archana Deshmukh
> <desharchan...@gmail.com <mailto:desharchan...@gmail.com>
<mailto:desharchan...@gmail.com <mailto:desharchan...@gmail.com>>>
wrote:
>
>
>
> ---------- Forwarded message ---------
> From: *Michael Eager* <ea...@eagercon.com
<mailto:ea...@eagercon.com> <mailto:ea...@eagercon.com
<mailto:ea...@eagercon.com>>>
> Date: Sat, Mar 6, 2021 at 10:53 PM
> Subject: Re: [Dwarf-Discuss] Retrieving variables, function
address
> using dwarf
> To: Archana Deshmukh <desharchan...@gmail.com
<mailto:desharchan...@gmail.com>
> <mailto:desharchan...@gmail.com
<mailto:desharchan...@gmail.com>>>,
<dwarf-discuss@lists.dwarfstd.org
<mailto:dwarf-discuss@lists.dwarfstd.org>
> <mailto:dwarf-discuss@lists.dwarfstd.org
<mailto:dwarf-discuss@lists.dwarfstd.org>>>
>
>
> On 3/5/21 8:28 PM, Archana Deshmukh via Dwarf-Discuss wrote:
> > I need to read the address of local variable, global variable,
> function
> > name and function arguments from the process.
> >
> > For global variables , I read the address "55b51afea000" from
> > /proc/<pid>/maps file. I use DW_OP_addr parameter to
retrieve the
> address.
> > 55b51afea000 + DW_OP_addr gives me the address of global
variable.
> >
> > I need to read the stack segment, heap. Is there any way
to read
> > segments? DW_AT_segment parameter seems to be for 16 bit.
> >
> > I need to read the following process map using dwarf.
> >
> > Any suggestion, pointers are welcome.
> >
> > 55b51afea000-55b51afeb000 r-xp 00000000 fd:00 5902563
>
> Can you explain what you are trying to do?
>
> Usually a DWARF consumer (a debugger) does not need to read the
> process memory map. All of the information you mention is in
> the DWARF data. You may need to relocate addresses in the DWARF
> debug data.
>
> DWARF does not contain information about the process memory
> layout, such as the location of the heap or the start of the
> stack.
>
> --
> Michael Eager
>
>
> _______________________________________________
> Dwarf-Discuss mailing list
> Dwarf-Discuss@lists.dwarfstd.org
<mailto:Dwarf-Discuss@lists.dwarfstd.org>
> http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
<http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org>
>
--
Michael Eager
--
Michael Eager
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org