From: "Frank Ch. Eigler" <fche@redhat.com>
To: Michel Dagenais <michel.dagenais@polymtl.ca>
Cc: Steven Rostedt <rostedt@goodmis.org>,
ahmadkhorrami <ahmadkhorrami@ut.ac.ir>,
linux-trace-users-owner@vger.kernel.org,
linux-trace-users <linux-trace-users@vger.kernel.org>,
lttng-dev <lttng-dev@lists.lttng.org>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [lttng-dev] Capturing User-Level Function Calls/Returns
Date: Wed, 15 Jul 2020 21:49:32 -0400 [thread overview]
Message-ID: <20200716014932.GB10566@redhat.com> (raw)
In-Reply-To: <489547987.230950.1594861561764.JavaMail.zimbra@polymtl.ca>
Hi -
> If you can afford a more invasive tool, that requires a lot of
> memory and stops your application for quite some time, you can look
> at approaches like dyninst that decompile the binary, insert
> instrumentation code and reassemble the code.
> https://dyninst.org/
For the record, systemtap includes a backend that uses dyninst as a
pure userspace backend.
% cat foo.c
#include <stdio.h>
int foo() {
printf("foo\n");
return 1;
}
int main() {
foo();
}
% gcc -g foo.c
% stap --runtime=dyninst -e '
probe process.function("*").{call,return} { println(pp()) }
' -c a.out
foo
process("/home/fche/a.out").function("main@/home/fche/foo.c:8").call
process("/home/fche/a.out").function("foo@/home/fche/foo.c:3").call
process("/home/fche/a.out").function("foo@/home/fche/foo.c:3").return
process("/home/fche/a.out").function("main@/home/fche/foo.c:8").return
- FChE
WARNING: multiple messages have this Message-ID (diff)
From: "Frank Ch. Eigler via lttng-dev" <lttng-dev@lists.lttng.org>
To: Michel Dagenais <michel.dagenais@polymtl.ca>
Cc: Steven Rostedt <rostedt@goodmis.org>,
ahmadkhorrami <ahmadkhorrami@ut.ac.ir>,
linux-trace-users-owner@vger.kernel.org,
linux-trace-users <linux-trace-users@vger.kernel.org>,
lttng-dev <lttng-dev@lists.lttng.org>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [lttng-dev] Capturing User-Level Function Calls/Returns
Date: Wed, 15 Jul 2020 21:49:32 -0400 [thread overview]
Message-ID: <20200716014932.GB10566@redhat.com> (raw)
Message-ID: <20200716014932.T45MquSq2iQwj40iNe3ZoSw6zn_A8VwBTwoLu19ZKXw@z> (raw)
In-Reply-To: <489547987.230950.1594861561764.JavaMail.zimbra@polymtl.ca>
Hi -
> If you can afford a more invasive tool, that requires a lot of
> memory and stops your application for quite some time, you can look
> at approaches like dyninst that decompile the binary, insert
> instrumentation code and reassemble the code.
> https://dyninst.org/
For the record, systemtap includes a backend that uses dyninst as a
pure userspace backend.
% cat foo.c
#include <stdio.h>
int foo() {
printf("foo\n");
return 1;
}
int main() {
foo();
}
% gcc -g foo.c
% stap --runtime=dyninst -e '
probe process.function("*").{call,return} { println(pp()) }
' -c a.out
foo
process("/home/fche/a.out").function("main@/home/fche/foo.c:8").call
process("/home/fche/a.out").function("foo@/home/fche/foo.c:3").call
process("/home/fche/a.out").function("foo@/home/fche/foo.c:3").return
process("/home/fche/a.out").function("main@/home/fche/foo.c:8").return
- FChE
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
next prev parent reply other threads:[~2020-07-16 1:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 16:07 Capturing User-Level Function Calls/Returns ahmadkhorrami
2020-07-15 18:28 ` Steven Rostedt
2020-07-15 18:28 ` [lttng-dev] " Steven Rostedt via lttng-dev
2020-07-15 18:45 ` Mathieu Desnoyers
2020-07-15 18:45 ` [lttng-dev] " Mathieu Desnoyers via lttng-dev
2020-07-15 21:39 ` ahmadkhorrami
2020-07-15 21:39 ` [lttng-dev] " ahmadkhorrami via lttng-dev
2020-07-15 21:48 ` Steven Rostedt
2020-07-15 21:48 ` [lttng-dev] " Steven Rostedt via lttng-dev
2020-07-15 22:25 ` ahmadkhorrami
2020-07-15 22:25 ` [lttng-dev] " ahmadkhorrami via lttng-dev
2020-07-16 1:06 ` Michel Dagenais
2020-07-16 1:06 ` Michel Dagenais via lttng-dev
2020-07-16 1:06 ` Michel Dagenais via lttng-dev
2020-07-16 1:49 ` Frank Ch. Eigler [this message]
2020-07-16 1:49 ` [lttng-dev] " Frank Ch. Eigler via lttng-dev
2020-07-16 16:26 ` ahmadkhorrami
2020-07-16 16:26 ` ahmadkhorrami via lttng-dev
2020-07-16 16:20 ` ahmadkhorrami
2020-07-16 16:20 ` ahmadkhorrami via lttng-dev
2020-07-16 16:34 ` ahmadkhorrami
2020-07-16 16:34 ` ahmadkhorrami via lttng-dev
2020-07-16 1:04 ` Namhyung Kim
2020-07-16 1:04 ` [lttng-dev] " Namhyung Kim via lttng-dev
2020-07-16 16:07 ` ahmadkhorrami
2020-07-16 16:07 ` [lttng-dev] " ahmadkhorrami via lttng-dev
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=20200716014932.GB10566@redhat.com \
--to=fche@redhat.com \
--cc=ahmadkhorrami@ut.ac.ir \
--cc=linux-trace-users-owner@vger.kernel.org \
--cc=linux-trace-users@vger.kernel.org \
--cc=lttng-dev@lists.lttng.org \
--cc=michel.dagenais@polymtl.ca \
--cc=namhyung@kernel.org \
--cc=rostedt@goodmis.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.