[Dwarf-Discuss] Retrieving variables, function address using dwarf
Archana Deshmukh
desharchana19@gmail.com
Thu Mar 11 06:38:49 GMT 2021
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.
Best Regards,
Archana
On Tue, Mar 9, 2021 at 11:07 PM Michael Eager <eager at 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
> > <desharchana19 at gmail.com <mailto:desharchana19 at gmail.com>> wrote:
> >
> >
> >
> > ---------- Forwarded message ---------
> > From: *Michael Eager* <eager at eagercon.com <mailto:eager at eagercon.com
> >>
> > Date: Sat, Mar 6, 2021 at 10:53 PM
> > Subject: Re: [Dwarf-Discuss] Retrieving variables, function address
> > using dwarf
> > To: Archana Deshmukh <desharchana19 at gmail.com
> > <mailto:desharchana19 at gmail.com>>, <dwarf-discuss at lists.dwarfstd.org
> > <mailto:dwarf-discuss at 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 at lists.dwarfstd.org
> > http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
> >
>
> --
> Michael Eager
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dwarfstd.org/pipermail/dwarf-discuss-dwarfstd.org/attachments/20210311/a4ce240b/attachment-0001.html>
More information about the Dwarf-discuss
mailing list