From: Simon Marchi <simon.marchi@polymtl.ca>
To: Yao Qi <yao@codesourcery.com>
Cc: Suchakra Sharma <suchakrapani.sharma@polymtl.ca>, gdb@sourceware.org
Subject: Re: Debugging agent library
Date: Tue, 07 May 2013 18:50:00 -0000 [thread overview]
Message-ID: <CAFXXi0mqnd7XQQXFX5mQXF0r8dRn+crsyz8g0uip=svZpm245Q@mail.gmail.com> (raw)
In-Reply-To: <5188AE42.50308@codesourcery.com>
Hi Yao,
On 7 May 2013 03:33, Yao Qi <yao@codesourcery.com> wrote:
> Hello,
> Suchakra,
>
>
> On 05/07/2013 03:21 AM, Suchakra Sharma wrote:
>>
>> Hi,
>>
>> We tried to find out how to use the debugging agent library here [1] but
>> were unsuccessful. As of now, we have built a test app linked to dagent
>
>
> It would be nice if you post some details about how you use dagent and the
> error message you got.
>
>
>> which creates a socket file and expects commands. We wish to use it with
>> GDB as well as other applications to primarily objective of tracing
>> using GDB's fast tracepoint infra. Any help in this regard will be
>> appreciated.
>>
>> [1] https://github.com/MentorEmbedded/Debug-Agent-Library/wiki
>>
>
> I checked out the wiki and realize that the existing documentation has an
> assumption that readers are much familiar with GDB and GDB tracepoint. The
> session below shows how to install fast tracepoint through dagent.
>
> In one console, start the program in GDBserver,
>
> $ LD_PRELOAD=/install/lib/libdagent.so ./gdbserver/gdbserver :1234
> ./testsuite/gdb.base/break
>
> In the other console, start GDB and connect to GDBserver,
>
> $ ./gdb ./testsuite/gdb.base/break
> (gdb) target remote :1234
> (gdb) b main
> (gdb) c
>
> (gdb) b marker4 // set breakpoint to make sure program doesn't exit
> (gdb) ftrace *0x0804851e // set fast tracepoint at certain address
> (gdb) set agent on // enable agent
> (gdb) tstart // start tracing
tstart here gives me the error:
(gdb) tstart
Target returns error code '.In-process agent library not loaded in
process. Fast and static tracepoints unavailable.'
I compiled my small app using (libdagent.so is already in my ld search path):
$ gcc test.c -Wall -g -ldagent -O0
I run the gdbserver using:
$ LD_PRELOAD=/usr/local/lib/libdagent.so gdbserver :1234 ./a.out
Then I use the same commands as you have shown in your example. info
sharedlibrary shows that the agent is loaded:
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00007ffff7dddb00 0x00007ffff7df685b Yes (*) /lib64/ld-linux-x86-64.so.2
0x00007ffff7bd38c0 0x00007ffff7bd8e38 Yes /usr/local/lib/libdagent.so
0x00007ffff785ba20 0x00007ffff797c72c Yes (*) /lib64/libc.so.6
0x00007ffff7625660 0x00007ffff7630eb8 Yes (*) /lib64/libpthread.so.0
Is there something I am missing here?
> (gdb) c
> (gdb) tstop // stop tracing
> (gdb) tfind // examine the trace frames tracepoint collects
> Found trace frame 0, tracepoint 3
> #0 main (argc=<unavailable>, argv=<unavailable>, envp=<unavailable>) at
> ../../../../git/gdb/testsuite/gdb.base/break.c:94
> 94 marker1 (); /* set breakpoint 11 here */
>
> Let me know if you get something else or obviously wrong.
>
> --
> Yao (齐尧)
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?
Thanks !
Simon
next prev parent reply other threads:[~2013-05-07 18:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-06 19:21 Suchakra Sharma
[not found] ` <5188AE42.50308@codesourcery.com>
2013-05-07 18:50 ` Simon Marchi [this message]
2013-05-08 2:16 ` Yao Qi
2013-05-08 19:42 ` Suchakra Sharma
2013-05-09 1:01 ` Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFXXi0mqnd7XQQXFX5mQXF0r8dRn+crsyz8g0uip=svZpm245Q@mail.gmail.com' \
--to=simon.marchi@polymtl.ca \
--cc=gdb@sourceware.org \
--cc=suchakrapani.sharma@polymtl.ca \
--cc=yao@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox