[lttng-dev] GSoC 2013, "C++ probe support" project and more
Suchakrapani Datt Sharma
suchakrapani.sharma at polymtl.ca
Wed Apr 24 23:21:34 EDT 2013
Quoting Zifei Tong <soariez at gmail.com>:
> I played with dyninst today. Here is a minimal working example:
Nice! I have done something similar here and I was able to build and insert code
snippets. But then I am more inclined towards analysing performance of dyninst.
You may also want to look at DynC API to build complex code snippets in a C
like syntax for dyninst.
> Dyninst is a really cool project (after struggling to get it work)...
Yeah it took sometime to understand their nomenclature and analysing the
assembly to see how it really mutates the binary. You might also be interested
in 'fast tracepoint' infrastructure and normal tracepoints provided by gdb. I
ran some tests with fast tracepoints using gdb on a same 'mutatee' code (as
dyninst) and it performed quite better than just dyninst. (a million runs of
traced function(with no 'action' performed by gdb on tracepoint hit) showed a
1.46% overhead - better tests are under way) But getting gdb's infra for
dynamic tracing with UST may be somewhat a serious hack.
Also, as you suggest stapdyn is also a good start to explore. I have not done
I am going to start with getting elementary Dyninst+UST hack working from next
week for continuing my tests/analysis and its gonna be good to hear from you
about trials at your end.
More information about the lttng-dev