This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Debugging agent library
- From: Suchakra Sharma <suchakrapani dot sharma at polymtl dot ca>
- To: Yao Qi <yao at codesourcery dot com>
- Cc: Simon Marchi <simon dot marchi at polymtl dot ca>, gdb at sourceware dot org
- Date: Wed, 08 May 2013 15:41:36 -0400
- Subject: Re: Debugging agent library
- References: <1367868074 dot 5194 dot 19 dot camel at station15 dot dorsal dot polymtl dot ca> <5188AE42 dot 50308 at codesourcery dot com> <CAFXXi0mqnd7XQQXFX5mQXF0r8dRn+crsyz8g0uip=svZpm245Q at mail dot gmail dot com> <5189B577 dot 6070006 at codesourcery dot com>
Hi Yao,
> If the suggestions above don't work for you, you probably have to turn
> on some debugging outputs. You can start gdbserver with option
> "--debug", and further, hack the variable "debug_agent" to 1 in
> gdb/common/agent.c.
Thanks for your detailed reply. We were able to rectify the issue. We
tried with a clean install of gdb and libdagent on another machine which
did not show any issue. The problem was probably because we tinkered
around the dagent code a bit before using it. All works well now.
> > Also, is it possible to write our own application to control tracing,
> > instead of using GDB? I guess we would need to talk to the agent using
> > the IPA protocol, is that right?
>
> Tracing control involves two sides, GDB and the agent. IPA protocol is
> used to control the agent, however, in order to finish/control tracing,
> GDB side should be controlled as well. Your tool can get the trace data
> from agent, but these data needs GDB interpretation, map the address to
> a symbol, for example. I am afraid you can't use your own application
> to do tracing with agent.
>
> On the other hand, I am curious on the reasons to write your own tool to
> control tracing instead of using GDB. Tracing is interesting to GDB,
> and you can see how much progress GDB made on tracing in the past
> several years. GDB is extensible on both its c code and python script,
> and you can extend it for your purpose. Last by not least,
> contributions are always welcome, and people here are friendly and nice
> to answer questions, AFAICS.
Indeed, dynamic tracing with GDB is getting more awesome day by day
(this view is reinforced by some tests I ran in-house which really show
how powerful and fast it is) A you know LTTng/UST already has quite fast
static tracing features, so our main aim is to get dynamic tracing
infrastructure of GDB in LTTng/UST for fast dynamic user space tracing
in an elegant way. We are not 100% clear how it shall be achieved at
this moment but we are exploring all avenues for now. At first glance it
looked as if we could do it using this library coupled with GDB
(controlled through LTTng/UST acting as our tool). Your ideas are
welcome and we surely shall contribute once we get a good knack of how
to extend GDB's functionality for our use.
Regards,
Suchakra & Simom
--
Suchakrapani Datt Sharma
Laboratorie DORSAL
Ãcole Polytechnique de MontrÃal